一,經常被用來過濾記錄的字段。
1. primary key 字段, 系統自動建立主鍵的索引;
2. unique kye 字段,系統自動建立對應的索引;
3. foreign key 約束所定義的作為外來鍵的字段;
4. 在查詢中用來連線表的字段;
5. 經常用來作為排序(order by 的字段)基準的字段;
二. 索引會占用磁碟空間,建立不必要的索引只會形成浪費.
三. 索引的建立必須考慮資料的操作方式。
1.內容很少變動,經常被查詢,為它多建立幾個索引無所謂;
2.經常性,例行性變動的表而言,則需要謹慎地建立確實必要的索引;
四. primary key 和 unique key的區別
1. 作為primary key的域/域組不能為null。而unique key可以。
2. 在乙個表中只能有乙個primary key,而多個unique key可以同時存在。
更大的區別在邏輯設計上, primary key一般在邏輯設計中用作記錄標識,這也是設定
primary key的本來用意, 而unique key只是為了保證域/域組的唯一性。
五,復合索引和單一索引
復合索引是指多字段聯合索引,查詢時經常需要這幾個字段組合一起為條件再查詢
唯一索引主要是用主鍵id索引,儲存結構順序與物理結構一致
如:create index idx on tbl(a,b)
先按a排序, a相同的按b排序,所以當你查a或ab的時候,
能夠利用到這個索引.但當你只查b的時候,索引對你的幫助不大.可能可以跳躍查詢.
資料庫索引建立原則
索引並不是越多越好,在合適的字段上建立合適的索引。索引的建立會影響寫資料的操作速度,會占用更多的磁碟空間。所以建立索引最好是在where條件內作為查詢條件。當然也要注意一些細節 1 比如復合索引字首原則,當我們建立a b c三個復合索引時,當我們使用ab或者a或者abc時,索引會被用到,但是使用bc...
資料庫建立索引的原則
鐵律一 天下沒有免費的午餐,使用索引是需要付出代價的。索引的優點有目共睹,但是,卻很少有人關心過採用索引所需要付出的成本。若資料庫管理員能夠對索引所需要付出的代價有乙個充分的認識,也就不會那麼隨意到處建立索引了。仔細數數,其實建立索引的代價還是蠻大的。如建立索引和維護索引都需要花費時間與精力。特別是...
資料庫建立索引的原則
鐵律一 天下沒有免費的午餐,使用索引是需要付出代價的。索引的優點有目共睹,但是,卻很少有人關心過採用索引所需要付出的成本。若資料庫管理員能夠對索引所需要付出的代價有乙個充分的認識,也就不會那麼隨意到處建立索引了。仔細數數,其實建立索引的代價還是蠻大的。如建立索引和維護索引都需要花費時間與精力。特別是...