我有一个大的MySQL表(〜10百万行,6.5G)我用它来读取&写入。这是MyISAM,并且由于MyISAM的所有表写入锁定,我获得了很多锁定。InnoDB与MyISAM插入查询时间
我决定尝试移动到推荐读/写表的InnoDB,它只锁定写入的特定行。
转换后,我测试了插入语句,结果显示它在InnoDB表中比在MyISAM表中花费的时间多15倍(从0.1秒到1.5秒)。这是为什么?
我还没有为InnoDB配置任何东西,并计划添加分区,但这个数字对我来说仍然是意外的。当然这些表是相同的,相同的索引等
附加信息根据请求:
2索引。 primary是Big INT类型的data_id,varchar(255)类型是非唯一user_id。
插入约150行,具有相同的user_id。
索引的大小:200 MB在MyISAM中,400MB InnoDB的
你能告诉我们索引吗?这是插入时间过长的最可能原因。 – wallyk
我有2个索引,data_id是主键,user_id不是唯一的。我的插入约150行,具有相同的user_id(它有一个索引)。 – normalppl
但每个索引的内容是什么?如果有一堆斑点,那么肯定会很难索引。但如果它们是整数或其他琐碎的类型,那么很难理解为什么性能会很差。 – wallyk