gpt4 book ai didi

mysql - 如何使用 SUBSTR 优化查询

转载 作者:太空宇宙 更新时间:2023-11-03 10:37:00 24 4
gpt4 key购买 nike

SELECT
XYZ_ID
FROM XYZ
WHERE
SUBSTR(Processor_Key, 24, 5) = '01000' AND
SUBSTR(Processor_Key, 32, 5) = '00900' AND
SUBSTR(Processor_Key, 40, 5) = '00070' AND
SUBSTR(Processor_Key, 48, 5) = '10000' AND
SUBSTR(Processor_Key, 56, 5) = '66000' AND
SUBSTR(Processor_Key, 64, 5) = '09000' AND
SUBSTR(Processor_Key, 72, 5) = '00050';

如何优化查询,降低查询成本?

最佳答案

被否决的风险很高,但可能有用的一件事是用单个 LIKE 表达式替换您的许多 SUBSTR 调用:

SELECT XYZ_ID
FROM XYZ
WHERE
Processor_Key LIKE '_______________________01000___00900___00070___10000___66000___09000___00050%';

这可能优于您的原始查询的原因是 LIKE 表达式可以通过最多一次遍历处理器键的前 77 个字符来计算。在您的原始查询中,您对 SUBSTR 进行了七次不同的调用,可能必须对每一次调用进行评估才能做出决定。

正如@Gordon 和上述评论所指出的那样,最好的长期解决方案可能是将您的 key 分解为单独的列并为每个列编制索引。这将使您能够利用数据库的全部功能,例如通过索引。

关于mysql - 如何使用 SUBSTR 优化查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46446861/

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