首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >MYSQL- OR SQL优化

问MYSQL- OR SQL优化
EN

Stack Overflow用户
提问于 2020-05-13 19:18:21
回答 1查看 27关注 0票数 0

我从一个表中选择数据。

此查询使用索引字段(COL1、COL2、COL3、COL4、COL5)进行选择:

代码语言:javascript
复制
SELECT * 
FROM `table` 
WHERE (col1=1339664 or col2=1339664 or col3=1339664 or col4=1339664) 
  AND col5= 932111;

有什么方法可以优化这个查询吗?

我将感谢你的帮助

EN

回答 1

Stack Overflow用户

发布于 2020-05-13 19:39:59

唯一要在该查询上使用的索引是col5上的索引。

将运行indexed的是:

代码语言:javascript
复制
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;

对于该查询,您将需要以下索引:

代码语言:javascript
复制
(col5, col1)
(col5, col2)
(col5, col3)
(col5, col4)
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/61773214

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档