mysql 5.6 MyISAM 引擎和 InnoDB 数据读写问题

2014-09-19 17:59:42 +08:00
 dbfox
我这里数据库

总计有 256 个表,是把主键 key 进行md5 取前俩位,把数据分散到 这256 张表的,提升性能

每个表有 20000 条数据左右,使用的是 MyISAM 引擎


MyISAM 引擎在并发读写的时候 经常出现

Duplicate entry xxxxxx for key PRIMARY 的问题

在网上看了下,有人说 MyISAM 在读多写少的情况下性能非常好, 读写入频繁时就不给力了

怎么优化呢?

InnoDB 频繁读写 性能如何?相对于 MyISAM 性能有多大差距?

如果我更改为 InnoDB 仍然是是把主键 key 进行md5 取前俩位 建立 256 张表,性能对比MyISAM 应该没多大差距吧?
2806 次点击
所在节点    问与答
5 条回复
bystand3r
2014-09-19 18:53:32 +08:00
你这个根本不是性能问题啊……是主键重复了。读写性能的话,也要看索引,索引多或者复杂对写入影响就大
GtDzx
2014-09-19 19:04:43 +08:00
一共也才500万条数据,不像会有性能问题的样子,为什么不放在一个表里呢?
skybr
2014-09-19 19:11:23 +08:00
mysql的分区都出来那么多版了, 还人肉拆表呢
dbfox
2014-09-19 19:36:30 +08:00
@bystand3r 写前判断过的,并发下会出问题
msg7086
2014-09-20 06:06:57 +08:00
@dbfox 逻辑问题啊。手动取last_id再+1再md5,当然会撞了。还不如分区功能好些。

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

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

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

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

© 2021 V2EX