检测到您已登录华为云国际站账号,为了您更好的体验,建议您访问国际站服务网站 https://www.huaweicloud.com/intl/zh-cn
不再显示此消息
TID Scan 通过TupleID扫描表。 Index Ctid Scan 通过Ctid上的索引对表进行扫描。 CTE Scan CTE对子查询的操作进行评估并将查询结果临时存储,相当于一个临时表。CTE Scan算子对该临时表进行扫描。
TID Scan 通过TupleID扫描表。 Index Ctid Scan 通过Ctid上的索引对表进行扫描。 CTE Scan CTE对子查询的操作进行评估并将查询结果临时存储,相当于一个临时表。CTE Scan算子对该临时表进行扫描。
Bitmap 算子说明 Bitmap Index Scan,位图索引扫描,该算子的作用为用索引扫描的方式,将过滤出的符合条件的元组的tid形成一张位图并向上返回。
对于需要重复多次扫描的子节点(特别是扫描结果每次都相同时)可以减少执行代价。 典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算子来缓存子查询的结果,从而大大减少扫描的执行时间。
Bitmap 算子说明 Bitmap Index Scan,位图索引扫描,该算子的作用为用索引扫描的方式,将过滤出的符合条件的元组的tid形成一张位图并向上返回。
对于需要重复多次扫描的子节点(特别是扫描结果每次都相同时)可以减少执行代价。 典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算子来缓存子查询的结果,从而大大减少扫描的执行时间。
Bitmap 算子说明 Bitmap Index Scan,位图索引扫描,该算子的作用为用索引扫描的方式,将过滤出的符合条件的元组的tid形成一张位图并向上返回。
Bitmap 算子说明 Bitmap Index Scan,位图索引扫描,该算子的作用为用索引扫描的方式,将过滤出的符合条件的元组的tid形成一张位图并向上返回。
对于需要重复多次扫描的子节点(特别是扫描结果每次都相同时)可以减少执行代价。 典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算子来缓存子查询的结果,从而大大减少扫描的执行时间。
对于需要重复多次扫描的子节点(特别是扫描结果每次都相同时)可以减少执行代价。 典型场景 当查询语句涉及子查询,需要多次查询同一批数据时,优化器会选择Materialize算子来缓存子查询的结果,从而大大减少扫描的执行时间。
Sample Scan 算子说明 Sample Scan是一种扫描表的方式,它可以在查询过程中随机地从表中抽取一部分数据进行查询,而不是扫描整个表。
Sample Scan 算子说明 Sample Scan是一种扫描表的方式,它可以在查询过程中随机地从表中抽取一部分数据进行查询,而不是扫描整个表。
Sample Scan 算子说明 Sample Scan是一种扫描表的方式,它可以在查询过程中随机地从表中抽取一部分数据进行查询,而不是扫描整个表。
Sample Scan 算子说明 Sample Scan是一种扫描表的方式,它可以在查询过程中随机地从表中抽取一部分数据进行查询,而不是扫描整个表。
由于扫描数据缩减所带来的性能提升会有非常明显的效果,如图2所示。
由于扫描数据缩减所带来的性能提升会有非常明显的效果,如图2所示。
如果以普通表的方式设计表结构则需要访问表全量的数据(Full Table Scan),如果以日期为分区键重新设计该表,那么原有的全表扫描会被优化成为分区扫描。当表内的数据量很大同时具有很长的历史周期时,由于扫描数据缩减所带来的性能提升会有明显的效果,如图2所示。
执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。 执行计划的最关键的部分是语句的预计执行开销,影响计划生成器估算执行该语句将花费多长的时间。
表设计 总体上讲,良好的表设计需要遵循以下原则: 减少需要扫描的数据量。通过分区表的剪枝机制可以大幅减少数据的扫描量。 尽量减少随机I/O。通过聚簇可以实现热数据的连续存储,将随机I/O转换为连续I/O,从而减少扫描的I/O代价。
执行计划将显示SQL语句所引用的表会采用什么样的扫描方式,如:简单的顺序扫描、索引扫描等。如果引用了多个表,执行计划还会显示用到的JOIN算法。 执行计划的最关键的部分是语句的预计执行开销,影响计划生成器估算执行该语句将花费多长的时间。