gpt4 book ai didi

mysql - InnoDB 与 MyISAM 插入查询时间

转载 作者:太空狗 更新时间:2023-10-30 01:44:43 28 4
gpt4 key购买 nike

我有一个大型 MySQL 表(约 1000 万行,6.5G),用于读写。这是 MyISAM,由于 MyISAM 的所有表写入锁,我得到了很多锁。

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

转换后,我测试了插入语句,结果表明在 InnoDB 表中比在 MyISAM 表中多花费大约 15 倍(从 0.1 秒到 1.5 秒)。这是为什么?

我还没有为InnoDB配置任何东西,也打算添加分区,但是这个数字还是出乎我的意料。当然表是相同的,相同的索引等。

根据要求提供的附加信息:

2 个索引。 primary 是 Big INT 类型的 data_id,以及 varchar(255) 类型的非唯一 user_id。

插入具有相同 user_id 的约 150 行。

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

最佳答案

A related answer建议将 innodb_flush_log_at_trx_commit 变量设置为 2 可能会在写入与读取的比率相对较高时提高性能。参见 the documentation了解更多。

关于mysql - InnoDB 与 MyISAM 插入查询时间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7217492/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com