数据库 – InnoDB与MyISAM插入查询时间

前端之家收集整理的这篇文章主要介绍了数据库 – InnoDB与MyISAM插入查询时间前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我有一个大的 MySQL表(约10万行,6.5G),我用于读取&写.这是MyISAM,由于MyISAM的所有表锁定,我收到了很多锁定.

我决定尝试移动到推荐用于读/写表的InnoDB,它只在写入时锁定特定的行.

转换后,我测试了insert语句,事实证明,InnoDB表比MyISAM表中需要〜15倍(从0.1秒到1.5秒).这是为什么?

我还没有为InnoDB配置任何东西,并计划添加分区,但是这个数字对我来说还是意想不到的.当然这些表是相同的,相同的索引等

附加信息根据要求:

2个指标. primary是data类型为Big INT,非唯一的user_id类型为varchar(255).

插入的大小共150行,具有相同的user_id.

索引大小:MyISAM中为200 MB,InnoDB为400MB

解决方法

related answer建议将innodb_flush_log_at_trx_commit变量设置为2时,写入与读取的比率相对较高时可能会提高性能.详见 the documentation.

猜你在找的MsSQL相关文章