云数据库 GAUSSDB-EXPLAIN:参数说明
参数说明
- statement
指定要分析的SQL语句。
- ANALYZE boolean | ANALYSE boolean
显示实际运行时间和其他统计数据。当两个参数同时使用时,在option中排在后面的一个生效。
取值范围:
- TRUE(缺省值):显示实际运行时间和其他统计数据。
- FALSE:不显示。
- VERBOSE boolean
显示有关计划的额外信息。
取值范围:
- TRUE(缺省值):显示额外信息。
- FALSE:不显示。
- COSTS boolean
包括每个规划节点的估计总成本,以及估计的行数和每行的宽度。
取值范围:
- TRUE(缺省值):显示估计总成本和宽度。
- FALSE:不显示。
- CPU boolean
打印CPU的使用情况的信息。需要结合ANALYZE或ANALYSE选项一起使用。
取值范围:
- TRUE(缺省值):显示CPU的使用情况。
- FALSE:不显示。
- DETAIL boolean
打印DN上的信息。需要结合ANALYZE或ANALYSE选项一起使用。
取值范围:
- TRUE(缺省值):打印DN的信息。
- FALSE:不打印。
- NODES boolean
打印query执行的节点信息。
取值范围:
- TRUE(缺省值):打印执行的节点的信息。
- FALSE:不打印。
- NUM_NODES boolean
打印执行中的节点的个数信息。
取值范围:
- TRUE(缺省值):打印DN个数的信息。
- FALSE:不打印。
- BUFFERS boolean
包括缓冲区的使用情况的信息。需要结合ANALYZE或ANALYSE选项一起使用。
取值范围:
- TRUE:显示缓冲区的使用情况。
- FALSE(缺省值):不显示。
- TIMING boolean
包括实际的启动时间和花费在输出节点上的时间信息。需要结合ANALYZE或ANALYSE选项一起使用。
取值范围:
- TRUE(缺省值):显示启动时间和花费在输出节点上的时间信息。
- FALSE:不显示。
- PLAN boolean
是否将执行计划存储在plan_table中。当该选项开启时,会将执行计划存储在plan_table中,不打印到当前屏幕,因此该选项为on时,不能与其他选项同时使用。
取值范围:
- TRUE(缺省值):将执行计划存储在plan_table中,不打印到当前屏幕。执行成功返回EXPLAIN SUC CES S。
- FALSE:不存储执行计划,将执行计划打印到当前屏幕。
- BLOCKNAME boolean
是否显示计划的每个操作所处于的查询块。当该选项开启时,会将每个操作所处于的查询块的名字输出在Query Block列上,方便用户获取查询块名字,并使用Hint修改执行计划:
- TRUE(缺省值):显示计划时,将每个操作所处于的查询块的名字输出在新增列Query Block列上。该选项需要在pretty模式下使用。见指定Hint所处的查询块Queryblock章节。
- FALSE:不对计划显示产生影响。
- FORMAT
指定输出格式。
取值范围:TEXT,XML,JSON和YAML。
默认值:TEXT。
- PERFORMANCE
使用此选项时,即打印执行中的所有相关信息。下述为部分信息描述:
- ex c/r:代表平均每行使用cpu周期数,等于(ex cyc)/(ex row)。
- ex row:执行行数。
- ex cyc:代表使用的cpu周期数。
- inc cyc:代表包含子节点使用的总cpu周期数。
- shared hit:代表算子的share buffer命中情况。
- loops:算子循环执行次数。
- total_calls:生成元素总数。
- remote query poll time stream gather:算子用于侦听各DN数据到达CN的网络poll时间。
- deserialize time:反序列化所需时间。
- estimated time:估计时间。
- Network Poll Time:分布式stream网络通信时,表示libcomm接收侧等待数据耗时。
- Stream Send time:分布式stream网络通信时,表示libcomm或libpq发送数据耗时。
- OS Kernel Send time:分布式stream网络通信时,表示操作系统层发送数据耗时,大于0才会显示。
- Wait Quota time:分布式stream网络通信时,表示libcomm等待对端发送quota流控大小耗时,大于0才会显示。
- Data Serialize time:分布式stream网络通信时,表示数据序列化时间 。
- Data Copy time:分布式stream网络通信时,表示数据复制时间,大于0才会显示。