微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

数据库 – 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.

原文地址:https://www.jb51.cc/mssql/75426.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐