数据仓库服务 GAUSSDB(DWS)-GaussDB(DWS)查询时索引失效场景解析:场景一:返回结果集很大

时间:2024-06-21 18:00:23

场景一:返回结果集很大

以行存表的Seq Scan和Index Scan为例:

  • Seq Scan:按照表的记录的排列顺序从头到尾依次检索扫描,每次扫描要取到所有的记录。这也是最简单最基础的扫表方式,扫描的代价比较大。
  • Index Scan:对于指定的查询,先扫描一遍索引,从索引中找到符合要求的记录的位置(指针),再定位到表中具体的Page去获取,即先走索引,再读表数据。

因此,根据两种扫描方式的特点可知,多数情况下,Index Scan要比Seq Scan快。但是如果获取的结果集占所有数据的比重很大时(超过70%),这时Index Scan因为要先扫描索引再读表数据反而不如直接全表扫描的速度快。

support.huaweicloud.com/dws_faq/dws_03_2105.html