Squ*_*Cog 42
对不起,目前还不清楚你在问什么.
你问,它会加快一个查询,如
SELECT product, sum(quantity) FROM receipts
GROUP BY product
Run Code Online (Sandbox Code Playgroud)
如果您在数量上添加了索引?
如果这是问题,那么答案是否定的.一般来说,当你需要在众多行中找到几行时,索引是有用的; 在这里你需要所有行,所以索引没有帮助.
有一个模糊的异常(很少适用,大多数数据库优化器可能都不会执行这个技巧).如果您的查询恰好是
SELECT sum(foo) FROM bar
Run Code Online (Sandbox Code Playgroud)
,foo上有一个索引,bar是一个包含很多列的表,可以读入完整的索引,产生比你读取基础表更小的命中,并直接从索引中得到答案 - 永远不必触摸"真正的"桌子!但是,这是一个相当罕见的情况,您需要测试优化器是否知道这样做,然后再依赖于此.
否.索引通过限制需要检查的次数来改进搜索.无论如何,聚合函数(count,max,min,sum,avg)必须遍历列中的所有条目.
归档时间: |
|
查看次数: |
15984 次 |
最近记录: |