2表:在其列,我應該創建索引
countries:
id
short_name ("GE", "AR"...)
long_name
....
banks:
id
name ("NATIONAL BANK OF COUNTRY123"...)
country_id
...
鑑於大多數時候,我會做以下類型的查找:
select * from countries c
inner join banks b
on b.country_id = c.id
where c.short_name = ? and b.name = ?
什麼列,我應該創建索引?我想在countries
我應該創建一個額外的索引short_name
(id
將保持爲主要的自動遞增鍵)。我不知道banks
,如果我在name
這是一個varchar
字符串創建一個索引,它會高效和明智嗎?
避免添加未使用的索引,因爲它們什麼都不做,只會減慢更新/插入。多加1或2不會使人虛弱,但如果你達到10或20,這將是非常明顯的,並且精確地指出它們中的哪些是必要的,這可能是耗時的。 – Ramfjord 2014-09-29 02:41:40