我有这个简单的查询:
INSERT IGNORE INTO beststat (bestid,period,rawView) VALUES ( 4510724 , 201205 , 1 )
在桌子上:
CREATE TABLE `beststat` (
`bestid` int(11) unsigned NOT NULL,
`period` mediumint(8) unsigned NOT NULL,
`view` mediumint(8) unsigned NOT NULL DEFAULT '0',
`rawView` mediumint(8) unsigned NOT NULL DEFAULT '0',
PRIMARY KEY (`bestid`,`period`),
) ENGINE=InnoDB AUTO_INCREMENT=2020577 DEFAULT CHARSET=utf8
完成需要 1 秒。
旁注:实际上并不总是需要 1 秒。有时甚至可以在 0.05 秒内完成。但通常需要 1 秒
该表 (beststat) 目前有~ 500'000条记录,其大小为:40MB。我有4GB RAM和innodb buffer pool size
= 104,857,600,其中: Mysql: 5.1.49-3
这是我数据库中唯一的 InnoDB 表(其他是 MyISAM)
ANALYZE TABLE beststat
显示:好的
也许 InnoDB 设置有问题?