【发布时间】:2020-02-14 09:43:42
【问题描述】:
我正在使用 MySQL InnoDB。该表有 1000 万条记录。我正在尝试执行以下查询,但执行时间过长。
SELECT COUNT(*) FROM abc_test WHERE id = ? AND parent_id IS NULL AND user_status IN (?,?,?,?);
有人可以帮忙吗?以下是相同的详细信息。
- 云:AWS
- 数据库:MySQL RDS(r3.2xlarge)
- 版本:5.6.34
表结构(共 50 列)
- id int(11)
- parent_id int(11)
- user_status tinyint(4)
- 创建日期时间
- 修改日期时间
【问题讨论】:
-
表上有索引吗?
-
你有什么索引?如果您能分享执行计划,那就太好了。
-
EXPLAIN 从统计表中获取有关 COUNT 的信息,该值是近似值。而查询给出了精确的结果。
-
@P.Salmon 是的。我确实有索引。
-
@VladimirPligin 我确实有大约 8 个索引用于多个过滤器,而 parent_id 就是其中之一。
标签: mysql sql innodb amazon-rds