我从一个表中选择数据。
此查询使用索引字段(COL1、COL2、COL3、COL4、COL5)进行选择:
SELECT *
FROM `table`
WHERE (col1=1339664 or col2=1339664 or col3=1339664 or col4=1339664)
AND col5= 932111;有什么方法可以优化这个查询吗?
我将感谢你的帮助
发布于 2020-05-13 19:39:59
唯一要在该查询上使用的索引是col5上的索引。
将运行indexed的是:
SELECT *
FROM `table`
WHERE col1=1339664
AND col5= 932111
UNION
SELECT *
FROM `table`
WHERE col2=1339664
AND col5= 932111
UNION
SELECT *
FROM `table`
WHERE col3=1339664
AND col5= 932111
UNION
SELECT *
FROM `table`
WHERE col4=1339664
AND col5= 932111;对于该查询,您将需要以下索引:
(col5, col1)
(col5, col2)
(col5, col3)
(col5, col4)https://stackoverflow.com/questions/61773214
复制相似问题