【发布时间】:2018-01-19 18:37:47
【问题描述】:
我的表中有 200 万条记录。当我执行一个包含 3 个where condition 的查询时,响应时间太长。
查询:
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`)
我不知道我的索引是否正确
【问题讨论】:
-
你的桌子怎么样?我认为您缺少一些
indexes -
@Fotis 它有 41 列
标签: mysql