我正在使用此查询:
EXPLAIN SELECT * FROM DB1.TABLE1 AS T1, DB2.TABLE2 AS T2 WHERE T1.ID = T2.ID
结果,我需要收集此查询中使用的表的“table”列将返回查询(T1,T2)中使用的别名而不是它们的真实名称(TABLE1,TABLE2)。
有没有办法让这个查询返回实际的表名?
答案 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