我想优化一个大约有 500 条 SQL 行并且速度有点慢的大型 SQL 查询,在交互式系统中执行需要 1 到 5 秒。
我看到了这个 munin 图
这和这张图不一样
我从第一张图(显示扫描)中了解到,索引被用于where
或order by
句子中,只是为了搜索与某些规则(布尔表达式)匹配的元组。
第二张图我不太确定“元组访问”是什么意思
问题1:“元组访问”是什么意思?
所以我在想,如果我可以使用第二张图中的信息重写这个大查询的某些部分以使用索引获取更多元组而不是按顺序获取更多元组,那么我可以向前迈出优化一步。
问题2:我说的对吗?第二张图显示更多的索引获取和更少的顺序读取会更好吗?
问题 3:如果这是正确的,您能否提供一个 SQL 示例,其中元组是索引获取的,而不是顺序读取的?
注意:在问题中,我仅指第二张图