mysql - 用真实的表名解释查询

时间:2014-03-08 07:37:42

标签: mysql explain

我正在使用此查询:

EXPLAIN SELECT * FROM DB1.TABLE1 AS T1, DB2.TABLE2 AS T2 WHERE T1.ID = T2.ID

结果,我需要收集此查询中使用的表的“table”列将返回查询(T1,T2)中使用的别名而不是它们的真实名称(TABLE1,TABLE2)。

有没有办法让这个查询返回实际的表名?

2 个答案:

答案 0 :(得分:1)

不幸的是,答案是:不,没有办法......

正如CodeBird所指出的,MySQL bug跟踪器上有一个错误报告:

http://bugs.mysql.com/bug.php?id=24693

说明MySQL文档明确指出"输出行引用的表的名称"这一事实,来自EXPLAIN的所有输出都受此问题的困扰。甚至是新的FORMAT = JSON选项...

答案 1 :(得分:-1)

只需将实际表名称用作ALIAS。

EXPLAIN SELECT * FROM DB1.TABLE1, DB2.TABLE2 WHERE TABLE1.ID = TABLE2.ID