gpt4 book ai didi

sql - postgresql 的查询优化

转载 作者:行者123 更新时间:2023-11-29 13:29:19 28 4
gpt4 key购买 nike

我必须解决类里面关于 postgresql 查询优化的问题。

我必须优化以下查询。

“如果订单数量超过系统中所有订单的平均数量,该查询将确定每年的收入损失。”

select  sum(ol_amount) / 2.0 as avg_yearly
from orderline, (select i_id, avg(ol_quantity) as a
from item, orderline
where i_data like '%b'
and ol_i_id = i_id
group by i_id) t
where ol_i_id = t.i_id
and ol_quantity < t.a

是否可以通过索引或其他方式优化该查询(也可以使用物化 View )?

可以找到执行计划here .谢谢。

最佳答案

首先,如果你必须从数据的背面进行搜索,只需在数据的反面创建一个索引

create index on item(reverse(i_data);

然后这样查询:

select  sum(ol_amount) / 2.0 as avg_yearly
from orderline, (select i_id, avg(ol_quantity) as a
from item, orderline
where reverse(i_data) like 'b%'
and ol_i_id = i_id
group by i_id) t
where ol_i_id = t.i_id
and ol_quantity < t.a

关于sql - postgresql 的查询优化,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27409413/

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