gpt4 book ai didi

mysql - 优化选择案例查询

转载 作者:行者123 更新时间:2023-11-29 23:26:15 25 4
gpt4 key购买 nike

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

SELECT
MIN(CASE WHEN id = '001' THEN value END) Col1,
MIN(CASE WHEN id = '002' THEN value END) Col2,
MIN(CASE WHEN id = '003' THEN value END) Col3,
MIN(CASE WHEN id = '004' THEN value END) Col4,
MIN(CASE WHEN id = '005' THEN value END) Col5,
MIN(CASE WHEN id = '006' THEN value END) Col6

FROM table
WHERE id IN (001, 002, 003, 004, 005, 006) and

DATE(from_unixtime(t_stamp/1000)) "2014-11-12"

AND

value > -5 OR value > 5


GROUP BY DATE(from_unixtime(t_stamp/1000)), HOUR(from_unixtime(t_stamp/1000)), MINUTE(from_unixtime(t_stamp/1000)) DIV 60

之前工作正常,但在添加之后

AND

value > -5 OR value > 5

它停止执行并且刚刚超时。关于如何加快此查询的任何建议?

====

更新,我运行了这个查询,但没有关闭窗口,它确实执行了,但花了太长时间查询花费了 323.0750 秒。

最佳答案

看来你错过了那里的剪辑:

...
AND

(value > -5 OR value > 5)
...

如果你不设置剪辑,SQL 定义为:

WHERE id IN (001, 002, 003, 004, 005, 006) and

DATE(from_unixtime(t_stamp/1000)) "2014-11-12"

AND

value > -5

并且

OR value > 5

//编辑:

顺便说一句:为什么你要搜索 > -5 或 > 5? > -5 意味着 > 5...

关于mysql - 优化选择案例查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26937806/

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