我有以下SQL查询,我想使用索引进行优化。
select ean, count(nif)
from produto P, fornece_sec F where P.ean = F.ean
group by P.ean
having count(nif) > 1
使用nif索引有意义吗?
答案 0 :(得分:0)
首先,学习如何使用显式join
语法正确编写查询:
select P.ean, count(nif)
from produto P join
fornece_sec F
on P.ean = F.ean
group by P.ean
having count(nif) > 1;
然后 - 假设ean
中的所有fornece_sec
也在produto
中 - 您不需要join
,因为您正在通过{聚合{ {1}}密钥。因此,您可以将其简化为:
join
对于此版本的查询,您可以使用覆盖索引:select F.ean, count(F.nif)
from fornece_sec F
group by F.ean
having count(F.nif) > 1;
。