查询的结构如下:
SELECT DISTINCT field from table where (param1 IS NULL OR param1=CURDATE()) and (param2 IS NULL or param2=CURDATE())
参数 1 或参数 2 上没有索引。我们有大量数据,我希望有一个 cron 作业运行一个每天运行此查询的脚本。
建议?我应该以某种方式将其分成多个较小的查询吗?
编辑:我预计大约有 1000 万个结果。
最佳答案
添加此索引可能会有所帮助:
INDEX(param1, param2, field)
(这将有助于了解表的大小、架构等)
关于mysql - 我在 MySQL 上执行的查询需要超过 51 小时才能完成,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49198129/