1.不需要選擇所有的列,作為索引的列應該是出現在where子句join子句、order by或group by子句中的列或連線子句中指定的列,而不是select後的列。
2.對於某些列中的值分布較小,就沒有必要建立索引,比如有乙個***性別列,只包含m和f兩個值,對該列建立索引沒多大用處,因為不管查誰,資料都很大。
3.使用短索引,對於字串列進行建立索引,可指定乙個字首長度。例如有乙個char(200)列,如果錢10或20的字元多數是唯一的,就沒必要對整個列作索引。
4.不要過度使用索引,不是越多越好。佔空間,降低些操作效能,在修改表時,索引也會更新重構。
5.最左字首,比如建立了(a,b,c)索引,則就建立了(a),(a,b),(a,b,c)索引,在where子句中使用最頻繁的選擇放在最左邊。
索引的設計原則
索引設計不合理或者缺少索引都會對資料庫和應用程式的效能造成障礙。高效的索引對於獲得良好的效能非常重要。設計索引時,應該考慮一下的準則 1 索引並非越多越好,乙個表中如有大量的索引,不僅占用磁碟空間,而且會影響insert,delete,update等語句的效能,因為當表中的資料更改的同事,索引會進行...
索引設計原則
資料庫常用索引來提高檢索資料效能,本次主要針對mysql 5.0的索引型別 建立索引 create view v payment as select from payment mysql create view v payment as select from payment myisam quer...
mysql索引設計 MySQL索引設計原則
一 mysql常用的索引型別 1.1主鍵索引 primary key 1.2唯一索引 unique 1.3普通索引 index 1.4全文索引 1.5組合索引 二 mysql常用的資料結構 2.1b tree 2.2雜湊索引 三 索引的設計原則 3.1選擇唯一性索引 被設為唯一性的值可以設定為索引,...