2011-02-03 89 views
1

在mysql和索引中加入了一個簡短的問題。如果我有2個表:在mysql數據庫中加入索引

table1 
id 
name 

table2 
table1id 
table2title 

我表2和表1使用的ID和table1id加入我會在表2一個索引ID添加表1上和table1id?或者我只是將索引添加到其中一個表中?我使用MySQL與MyISAM版本5.x

回答

3

如果table1id是主鍵,那麼你不需要索引它。 (主鍵自動編入索引) 如果不是,那麼您需要索引table1idtable2table1id

在你使用「EXPLAIN」選擇查看你正在打的索引。

2

是的,在id列(如另一個海報說,primary列索引)添加索引。索引允許MySQL將一行數據文件中的行,而不是順序讀取。

如果您需要兩個表中的行給定一個id,則索引兩個表以獲得最佳性能。否則,最初的子句(SELECT...WHERE)將會很快運行,而JOIN將會很慢(反之亦然),從而導致查詢速度緩慢。