在mysql和索引中加入了一個簡短的問題。如果我有2個表:在mysql數據庫中加入索引
table1
id
name
table2
table1id
table2title
我表2和表1使用的ID和table1id加入我會在表2一個索引ID添加表1上和table1id?或者我只是將索引添加到其中一個表中?我使用MySQL與MyISAM版本5.x
在mysql和索引中加入了一個簡短的問題。如果我有2個表:在mysql數據庫中加入索引
table1
id
name
table2
table1id
table2title
我表2和表1使用的ID和table1id加入我會在表2一個索引ID添加表1上和table1id?或者我只是將索引添加到其中一個表中?我使用MySQL與MyISAM版本5.x
如果table1
。 id
是主鍵,那麼你不需要索引它。 (主鍵自動編入索引) 如果不是,那麼您需要索引table1
。 id
和table2
。 table1id
在你使用「EXPLAIN」選擇查看你正在打的索引。
是的,在id
列(如另一個海報說,primary
列索引)添加索引。索引允許MySQL將一行數據文件中的行,而不是順序讀取。
如果您需要兩個表中的行給定一個id,則索引兩個表以獲得最佳性能。否則,最初的子句(SELECT...WHERE
)將會很快運行,而JOIN
將會很慢(反之亦然),從而導致查詢速度緩慢。