我的表中有200萬條記錄。當我執行具有3 where condition
的查詢時,響應時間太長。Mysql執行時間太長
查詢:
SELECT COUNT(*)
FROM `table`
WHERE DATE(`created_at`) = '2017-08-11'
AND `type` in (4,13,15)
AND `status` = 1
執行時間:3秒
如何可以減少該查詢或任何這樣的查詢的執行時間?
編輯
表模式:
CREATE TABLE `transactions` (
`id` int(10) unsigned NOT NULL AUTO_INCREMENT,
`type` int(11) NOT NULL,
`status` int(11) NOT NULL DEFAULT '2',
`created_at` timestamp NULL DEFAULT NULL,
...
PRIMARY KEY (`id`),
KEY `query` (`created_at`,`type`,`status`),
KEY `query2` (`status`,`type`)
我不知道我的索引是真還是假
你的桌子是怎樣的?我認爲你錯過了幾個'index'es – Fotis
@Fotis它有41列 –