1.从解析到执行
SQL请求
|
Fast Parser
|
Plan Cache--->Parser
| | |
| | Resolver
| | |
| | Transformer
| | |
| | Optimizer
| | |
| <-------Code Generator
| |
|---------->Executor
|
返回结果
OBProxy 包含简单SQL Parser 功能,可进行轻量SQL解析,即先从客户端发出的 SQL 语句解析出数据库名
和表名,再根据用户的租户名、数据库名、表名以及分区 ID 信息等信息,向 OBServer 拉取表分区的路由表
2.查看各阶段耗时
set ob_enable_trace_log = 1
select count(*) from __all_table;
show trace;
/query start
parse
\parse start
resolve start
/
Resolver
\resolve end
/transform start
Transformer
\transform end
/optimizer start
Optimizer 生成逻辑计划
\optimizer end
/CG start
CodeGenerator 生成物理计划
\CG end
/execution start
Executor
\execution end
3.总结
OB提供的参数 ob_enable_trace_log ,可以很方便的开启trace日志的收集,方面查看SQL各个步骤的执行时间,从而定位SQL的性能瓶颈。