该语句用于解释 SQL 语句的执行计划,可以是 SELECT
、DELETE
、INSERT
、REPLACE
或 UPDATE
语句。
创新互联企业建站,十年网站建设经验,专注于网站建设技术,精于网页设计,有多年建站和网站代运营经验,设计师为客户打造网络企业风格,提供周到的建站售前咨询和贴心的售后服务。对于网站制作、网站建设中不同领域进行深入了解和探索,创新互联在网站建设中充分了解客户行业的需求,以灵动的思维在网页中充分展现,通过对客户行业精准市场调研,为客户提供的解决方案。
获取表或列的信息:
{EXPLAIN | DESCRIBE | DESC} tbl_name [col_name | wild]
获取SQL计划信息:
{EXPLAIN}
[BASIC | OUTLINE | EXTENDED | EXTENDED_NOADDR | PARTITIONS | FORMAT = {TRADITIONAL| JSON}]
{SELECT statement | DELETE statement | INSERT statement | UPDATE statement | MERGE statement}
参数 |
描述 |
---|---|
tbl_name |
指定表名。 |
col_name |
指定表的列名。 |
BASIC |
指定输出计划的基础信息,如算子 ID、算子名称、所引用的表名。 |
OUTLINE |
指定输出的计划信息包含 Outline 信息。 |
EXTENDED |
|
EXTENDED_NOADDR |
以简约的方式展示附加信息。 |
PARTITIONS |
显示分区相关信息。 |
FORMAT = {TRADITIONAL| JSON} |
指定
|
explain_type
obclient>CREATE TABLE t1(c1 INT,c2 INT);
Query OK, 0 rows affected (0.04 sec)
obclient>CREATE TABLE t2(c1 INT,c2 INT);
Query OK, 0 rows affected (0.07 sec)
obclient>EXPLAIN SELECT * FROM t1,t2 WHERE t1.c2=t2.c2 AND t2.c1 > 4\G
*************************** 1. row ***************************
Query Plan: =======================================
|ID|OPERATOR |NAME|EST. ROWS|COST |
---------------------------------------
|0 |HASH JOIN | |9801000 |5933109|
|1 | TABLE SCAN|t2 |10000 |6219 |
|2 | TABLE SCAN|t1 |100000 |68478 |
=======================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2]), filter(nil),
equal_conds([t1.c2 = t2.c2]), other_conds(nil)
1 - output([t2.c2], [t2.c1]), filter(nil),
access([t2.c2], [t2.c1]), partitions(p0)
2 - output([t1.c2], [t1.c1]), filter(nil),
access([t1.c2], [t1.c1]), partitions(p0)
obclient>EXPLAIN EXTENDED_NOADDR SELECT * FROM t1,t2
WHERE t1.c2=t2.c2 AND t2.c1 > 4\G
*************************** 1. row ***************************
Query Plan: =======================================
|ID|OPERATOR |NAME|EST. ROWS|COST |
---------------------------------------
|0 |HASH JOIN | |9801000 |5933109|
|1 | TABLE SCAN|t2 |10000 |6219 |
|2 | TABLE SCAN|t1 |100000 |68478 |
=======================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2]), filter(nil),
equal_conds([t1.c2 = t2.c2]), other_conds(nil)
1 - output([t2.c2], [t2.c1]), filter(nil),
access([t2.c2], [t2.c1]), partitions(p0),
is_index_back=false,
range_key([t2.c1]), range(4 ; MAX),
range_cond([t2.c1 > 4])
2 - output([t1.c2], [t1.c1]), filter(nil),
access([t1.c2], [t1.c1]), partitions(p0),
is_index_back=false,
range_key([t1.__pk_increment], [t1.__pk_cluster_id], [t1.__pk_partition_id]), range(MIN,MIN,MIN ; MAX,MAX,MAX)always true
TRADITIONAL
格式obclient>EXPLAIN FORMAT=TRADITIONAL SELECT * FROM t1,t2
WHERE t1.c2=t2.c2 AND t2.c1 > 4\G
*************************** 1. row ***************************
Query Plan: =======================================
|ID|OPERATOR |NAME|EST. ROWS|COST |
---------------------------------------
|0 |HASH JOIN | |9801000 |5933109|
|1 | TABLE SCAN|t2 |10000 |6219 |
|2 | TABLE SCAN|t1 |100000 |68478 |
=======================================
Outputs & filters:
-------------------------------------
0 - output([t1.c1], [t1.c2], [t2.c1], [t2.c2]), filter(nil),
equal_conds([t1.c2 = t2.c2]), other_conds(nil)
1 - output([t2.c2], [t2.c1]), filter(nil),
access([t2.c2], [t2.c1]), partitions(p0)
2 - output([t1.c2], [t1.c1]), filter(nil),
access([t1.c2], [t1.c1]), partitions(p0)
obclient>EXPLAIN FORMAT=JSON SELECT * FROM t1,t2
WHERE t1.c2=t2.c2 AND t2.c1 > 4\G
*************************** 1. row ***************************
Query Plan: {
"ID":2,
"OPERATOR":"JOIN",
"NAME":"JOIN",
"EST.ROWS":9800999,
"COST":6840524,
"output": [
"T1.C1",
"T1.C2",
"T2.C1",
"T2.C2"
],
"CHILD_1": {
"ID":0,
"OPERATOR":"TABLE SCAN",
"NAME":"TABLE SCAN",
"EST.ROWS":10000,
"COST":80810,
"output": [
"T2.C2",
"T2.C1"
]
},
"CHILD_2": {
"ID":1,
"OPERATOR":"TABLE SCAN",
"NAME":"TABLE SCAN",
"EST.ROWS":100000,
"COST":64065,
"output": [
"T1.C2",
"T1.C1"
]
}
}
1 row in set (0.01 sec)
EXPLAIN 的每个输出行提供一个表的相关信息,并且每个行包括下面的列:
列名 |
说明 |
---|---|
ID |
计划执行序列号。 |
OPERATOR |
执行算子。 |
NAME |
算子所引用的表。 |
EST.ROWS |
估计执行到当前算子输出的行数。 |
COST |
执行到当前算子的 CPU 时间。 |
当前文章:创新互联OceanBase教程:OceanBaseEXPLAIN
本文URL:http://www.shufengxianlan.com/qtweb/news2/151152.html
网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等
声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联