我正在使用带有300k行的Inno db表(称为test),其中包含以下字段:
id(int), sn(int), ts(timestamp), note(text), error_id(int)
索引为id
,sn
和ts
。
SELECT ts FROM test LIMIT 0, 100
收视率为0.3-0.35秒
其他一切,如SELECT id FROM test LIMIT 0,100
需要0.04秒。
仅在选择*
或ts
时,SELECT需要花费大量时间才能完成。
你知道为什么会发生这种情况(通过ts执行SELECT比其他人多10倍的时间吗?)
真实的桌子:
CREATE TABLE `production_list_log` (<br/>
`id` int(11) NOT NULL AUTO_INCREMENT,<br/>
`sn` int(11) NOT NULL,<br/>
`ts` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP COMMENT 'ts - timestamp when ordercode arrived to this station\n',<br/>
`note` text COLLATE utf8_slovenian_ci,<br/>
`error_id` int(11) DEFAULT NULL COMMENT,<br/>
PRIMARY KEY (`id`),<br/>
KEY `fk_change_product_id` (`product_id`),<br/>
KEY `sn_ts_added_kalup` (`sn`,`ts`) USING BTREE,<br/>
CONSTRAINT `fk_change_product_id` FOREIGN KEY (`product_id`) REFERENCES `products` (`id`) ON UPDATE CASCADE<br/>
) ENGINE=InnoDB AUTO_INCREMENT=297567 DEFAULT CHARSET=utf8