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

相关文章

SELECT a.*,b.dp_name,c.pa_name,fm_name=(CASE WHEN a.fm_n...
if not exists(select name from syscolumns where name=&am...
select a.*,pano=a.pa_no,b.pa_name,f.dp_name,e.fw_state_n...
要在 SQL Server 2019 中设置定时自动重启,可以使用 Window...
您收到的错误消息表明数据库 'EastRiver' 的...
首先我需要查询出需要使用SQL Server Profiler跟踪的数据库标...