gpt4 book ai didi

sql,使用内连接进行查询优化?

转载 作者:行者123 更新时间:2023-12-04 09:42:02 25 4
gpt4 key购买 nike

我正在尝试优化我的查询,它有一个内部连接和合并。

连接表是一个简单的表,只有一个整数字段,我添加了一个唯一键。

对于我的 where 子句,我为三个字段创建了一个键。

但是当我查看计划时,它仍然说它正在使用表扫描。

我哪里错了?

这是我的查询

select date(a.startdate, '+'||(b.n*a.interval)||' '||a.intervaltype) as due

from billsndeposits a

inner join util_nums b on date(a.startdate, '+'||(b.n*a.interval)||'
'||a.intervaltype) <= coalesce(a.enddate, date('2013-02-26'))

where not (intervaltype = 'once' or interval = 0) and factid = 1

order by due, pid;

最佳答案

很可能您的 JOIN 表达式不能使用任何索引,它是通过进行 NATURAL 扫描和计算 date(a.startdate, '+'||(b.n*a.interval)||' '||a.intervaltype) 来计算的。对于每一行。

BTW:这本身就是一个非常奇怪的连接条件。建议你找个更好的加入方式billsndepositsutil_nums (如果确实需要)。

关于sql,使用内连接进行查询优化?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9452728/

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