Mysql InnoDB奇怪的表演

Mysql InnoDB奇怪的表演,mysql,innodb,Mysql,Innodb,我正在使用一个非常简单的InnoDB表(名为Test)进行一些测试,该表具有以下结构: Id int(10) unsigned NOT NULL AUTO_INCREMENT UserId int(10) NOT NULL Body varchar(512) COLLATE utf8_unicode_ci NOT NULL CreatedAt datetime NOT NULL 关于UserId的另一个索引: KEY Idx_Test_UserId (UserId) USING BTREE

我正在使用一个非常简单的InnoDB表(名为Test)进行一些测试,该表具有以下结构:

Id int(10) unsigned NOT NULL AUTO_INCREMENT
UserId int(10) NOT NULL
Body varchar(512) COLLATE utf8_unicode_ci NOT NULL
CreatedAt datetime NOT NULL
关于UserId的另一个索引:

KEY Idx_Test_UserId (UserId) USING BTREE
当我尝试执行此查询时

INSERT INTO Comments (UserId,Body,CreatedAt) VALUES (1,'This is a test',NOW());
…有时我会在几毫秒内完成操作,但有时需要大约一秒钟

我是唯一一个在这个特定表上做测试的人,我真的不明白我有这样的执行时间差异


最后请注意,当我使用MyISAM表执行相同的测试时,我没有任何问题。

InnoDB默认在自动提交模式下工作,这意味着每个插入都需要两个单独的磁盘写入操作。如果您的计算机中只有一个磁盘驱动器,有时您可能需要等待一段时间。另外,AFAIR InnoDB过去在Windows中写入磁盘时存在一些性能问题(不确定是否仍然存在),但我认为它涉及的并发性高于1。

您的操作系统和MySQL版本是什么?我的操作系统是Windows7,系统管理员和桌面支持专业人士可以通过问答了解MySQL v5.5版本。我没有提到的方法是,即使使用简单的SELECT语句,执行时间问题也会发生。。。