索引上的内连接 - 未知列

时间:2012-09-12 02:41:01

标签: mysql indexing inner-join

SELECT T1_C1,...,T1_C100, T2_C1,T2_C2 FROM T1 INNER JOIN T2 on T1.index_T1 = T2.index_T2

如上所述,我正在尝试使用下面的代码对我创建的索引上的两个表进行内连接

CREATE INDEX index_T1 on T1 (T1_PID)
CREATE INDEX index_T2 on T2 (T2_PID)

我不断收到未知列'T1.indexT1'。如果我删除表前缀,我会得到相同的。我很难找到正确语法的工作示例。我需要首先申请特殊待遇吗?

1 个答案:

答案 0 :(得分:1)

您无需明确提及名称索引。

索引名称只是您维护索引的标识符(比如删除索引)。并且mysql自动使用索引,基于哪些列参与查询以及哪些列以及索引如何覆盖。

所以只需指定列名称:

INNER JOIN T2 on T1.t1_pid = T2.t2_pid

PS:对于此特定查询,您很可能不需要T1

的索引