MyISAM外键功能

时间:2010-11-23 10:32:54

标签: mysql

我有一个名为TABLE1的表,它有5列,我很少使用,设计方面应该与该表分开。因此,我创建了一个名为TABLE-REF的新表,其主键(称为refID)实际上是TABLE1中相应列的ID。这样我将这5列与主表分开。因为我使用的是MyISAM,所以我没有使用外键。

在极少数情况下,当我需要为TABLE1中的行选择这5列时,选择它们的最有效方法是什么?

SELECT * FROM TABLE-REF WHERE refID={$table1ID}

除了为refID列编制索引之外,我还可以做些其他改进来提高查询的复杂性吗?

1 个答案:

答案 0 :(得分:0)

如果使用连接,则可以将两行都设为一行。所以不再为TABLE中的每一行返回数据库以获取TABLE-REF行。

SELECT 
    T.*, R.* 
FROM `TABLE` T 
INNER JOIN `TABLE-REF` R ON R.refID = T.ID
WHERE <your conditions>