0
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”。如果我删除表前缀,我会得到相同的结果。我正在努力寻找正确语法的工作示例。我需要先对桌子进行特殊处理吗?

4

1 回答 1

1

您不需要明确地按名称提及索引。

索引名称只是您维护索引的标识符(例如删除它)。而mysql会自动使用索引,根据哪些列参与查询,哪些列以及如何被索引覆盖。

所以只需指定列名:

INNER JOIN T2 on T1.t1_pid = T2.t2_pid

PS:对于这个特定的查询,您很可能不需要T1表索引

于 2012-09-12T02:43:52.013 回答