作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我想优化下面的 SQL 查询,目标是在 3-4 秒内获得结果。
select(
((select data from t_sayac_degerler where id = (select max(id) from t_sayac_degerler where adres = '1.8.0' and tarih between '2016.02.15 11:00' and '2016.02.16 17:13'))
-
(select data from t_sayac_degerler where id = (select min(id) from t_sayac_degerler where adres = '1.8.0' and tarih between '2016.02.15 11:00' and '2016.02.16 17:13')))
*
(select multiplier from t_sayac where s_id = ((select s_id from t_sayac_degerler where id = (select max(id) from t_sayac_degerler where adres = '1.8.0' and tarih between '2016.02.15 11:00' and '2016.02.16 17:13'))))
)
as value
我怎样才能实现这个目标?
最佳答案
我只是好奇这是否会提高您的性能,通过删除嵌套的 Select 语句,我将删除嵌套循环。我假设 id 值是 int:
DECLARE @MaxID int, @MinID int, @s_id int;
SELECT @MaxID=max(id) , @MinID = min(id)
FROM t_sayac_degerler
WHERE adres = '1.8.0' and tarih between '2016.02.15 11:00' and '2016.02.16 17:13';
SELECT @s_id=s_id
FROM t_sayac_degerler
WHERE id = @MaxID
SELECT(
(
(SELECT data
FROM t_sayac_degerler
WHERE id = @MaxID)
-
(SELECT data
FROM t_sayac_degerler
WHERE id = @MinID)
)
*
(SELECT multiplier
FROM t_sayac
WHERE s_id = @s_id
)
)
as value
关于mysql执行查询性能低下,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35436432/
我是一名优秀的程序员,十分优秀!