gpt4 book ai didi

sql - 优化where子句SQL

转载 作者:行者123 更新时间:2023-12-02 05:04:13 26 4
gpt4 key购买 nike

我正在尝试找出一种优化以下 SQL 查询的方法:

select * from SOME_TABLE
where (col1 = 123 and col2 = 'abc')
or (col1 = 234 and col2 = 'cdf')
or (col1 = 755 and col2 = 'cvd') ---> I have around 2000 'OR' statements in a single query.

目前这个查询需要很长时间才能执行,那么有没有办法让这个查询运行得更快?

最佳答案

  • 创建一个查找表 CREATE TABLE lookup (col1 INT, col2 VARCHAR(3), PRIMARY KEY(col1, col2), KEY(col2)) ORGANIZATION INDEX 或任何适合您需要的内容
  • 确保原始表上有索引(col1 和 col2)
  • 用您的 2000 种组合填充查找表

现在查询

SELECT 
mytable.*
FROM mytable
INNER JOIN lookup ON mytable.col1=lookup.col1 AND mytable.col2=lookup.col2

关于sql - 优化where子句SQL,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16532418/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com