mysql 现在有哪些魔改版本?

2020-05-29 14:49:32 +08:00
 tctc4869

没有用过 mysql,听说 mysql 相对于其他数据库,性能表现不是很好,例如联表查询,in 查询,经常听说有博客描述 mysql 建议不用 left join,改用服务端进行 join,还有一个 in 查询操作不能超过 1000 个的说法,如果 mysql 进行 in 查询超过 1000 个会有性能问题。真的是这样么?

而某些人讲,mysql 现在有很多魔改版本,比 oracle 自己的还强,比如阿里云,那么 mysql 魔改版本哪些呢?不知道上面这些问题较好的处理了没有,与 postgresql 相比呢

1664 次点击
所在节点    数据库
6 条回复
ohao
2020-05-29 15:05:30 +08:00
MYSQL 这块取决于场景, 大部分都到不了瓶颈的

商用途我想没人会用不知名的"魔改版本" = 奇奇怪怪的修改
出些奇奇怪怪的问题找不到解决也没人解决,也没文档,长期维护也是问题

如果你说的是分支版本 有 mariadb / Percona / 阿里巴巴二次开发的那种

但是阿里巴巴开发的这种 部署是在集群上,很多特性和性能才能发挥出来
你觉得一个普通用途 CRUD 操作数据库, 人均在线低于 500, 有必要部署集群嘛

这种问题其实没结论的
1. 你说的 left join 取决于你硬件配置 + 索引 + 优化 + mysql 版本
2. 性能问题 取决你的应用场景是实时还是非实时, 是不是可以 Memcache/redis 缓存
3. 比 Oracle 强比喻没有意义的 , 我拿超算装 MYSQL 对比 E5 的 Oracle , 或者纯数字查询 vs 全文检索查询 ?
hantsy
2020-05-29 15:06:57 +08:00
现在慢慢用 pg 多,还有就是 NoSQL 了。
lbmjsls1
2020-05-29 15:07:40 +08:00
想问楼主用的是 postgresql 吗
tctc4869
2020-05-29 15:12:37 +08:00
@lbmjsls1 是的,postgresql 相对于 sql server,中文文档不是很多,可视化配置项也不是很好,一些配置设置还得用命令行
lbmjsls1
2020-05-29 20:49:26 +08:00
@tctc4869 有几个问题想问一下,不知道你怎么解决的,有一个是开启备份后,wal 日志有什么方案,可以像 mysql binlog 一样看到执行语句吗
changdy
2020-05-30 10:17:25 +08:00
只用过 MySql , 表示有些 sql 的执行计划让人看不懂....
比如 a,b 两表是 1 对 N 的关系, 我想取 b 表对应的最大 id sql 如下:
```sql
select a.*,max(b.id) bid from a ,b where a.type=10 and a.id =b.other_id group by a.id ;
```
这种写法的执行效率很差. 然后我就需要略 hack 的写法
```sql
select a.*,(select max(id) from b where b.other_id =a.id) bid from a where a.type=10
```

想问下其他数据库处理起来会好一些吗? 还是这种 sql 有更优雅的写法

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/676696

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX