1.客户端使用工具简单查看
在GDS选中需要查看执行计划的sql,鼠标右键点击执行,选择查看执行计划(ctrl+shift+e)

2.使用函数查看
execute function ifx_explain("select * from syssqltrace;");--返回结果QUERY: (OPTIMIZATION TIMESTAMP: 03-21-2024 09:39:39)
------
select * from syssqltrace;
Estimated Cost: 3
Estimated # of Rows Returned: 1
1) gbasedbt.syssqltrace: SEQUENTIAL SCAN
3.服务端查看
前两种方式由于sql没有执行,所以看不到sql执行的详细信息,可以在服务端操作查看sql执行详细信息
dbaccess gbasedb -
set explain on;
select count(*) from t_user;
set explain off;退出dbaccess后,在当前目录下查看sqexplain.out文件
QUERY: (OPTIMIZATION TIMESTAMP: 03-21-2024 11:15:29)
select count(*) from t_user
Estimated Cost: 1
Estimated # of Rows Returned: 1
1) gbasedbt.t_user: INDEX PATH
(1) Index Name: (count)
Index Keys: (count)
Query statistics:
-----------------
Table map :
----------------------------
Internal name Table name
----------------------------
type rows_prod est_rows rows_cons time
-------------------------------------------------
group 1 1 0 00:00.00还可以指定输出的文件名
dbaccess gbasedb -
set explain on;
set explain file to '/home/gbasedbt/explain11.unl';
select count(*) from t_user;
set explain off;
cat /home/gbasedbt/explain11.unl4.查看某个会话sql的执行计划
--在会话窗口中查看当前会话ID
select dbinfo('sessionid') from dual;
43
--在服务端执行
onmode -Y 43 1
--会在当前目录下生成一个以会话id结尾的sqexplain.out文件5.伪指令方式查看sql执行计划
适用于当前无法连接数据库服务器,需要查看sql详细的执行计划在客户端执行
select /*+ explain */ * from syssqltrace;该命令会在服务端gbasedbt用户的home目录下生成一个sqexplain.out文件
将该文件保存至客户端文本中查看
select
first 1 LOTOFILE( FILETOCLOB("/home/gbasedbt/sqexplain.out", 'server'),"D:\expain1.txt!",'client')
from systables;该方法不建议使用,sqexplain内容是追加写入的,而不是覆盖之前的内容,多了之后翻起来不方便。
以上是Gbase8s 查看sql执行计划的几种方式。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




