在where子句或者連線條件經常引用的列上建立索引,特別是大表的字段,應該建立索引。
經常出現在關鍵字group by | order by | distinct後面的字段,最好建立索引。
表的主鍵、外來鍵必須建立索引。
建立了主鍵和唯一性約束後會自動建立唯一索引。
如果單字段查詢很少甚至沒有,那麼可以建立復合索引;否則考慮單字段索引。
如果復合索引中包含的字段經常單獨出現在where子句中,那麼仔細考慮其必要性,考慮減少復合的字段。
對於那些查詢很少涉及的列、重複值比較多的列盡量不要建立索引。
索引應該建立在小字段上,對於大的文字字段甚至超長字段,不適合建索引。對於定義為clob、text、image和bit的資料型別的列不適合建立索引。
如果既有單字段索引,又有這幾個欄位上的復合索引,那麼一般可以刪除復合索引。
頻繁進行dml操作的表,不要建立太多的索引。
刪除無用的索引,避免對執行計畫造成負面影響。
索引型別和索引使用原則
使用索引可快速訪問資料庫表中的特定資訊。索引是對資料庫表中一列或多列的值進行排序的一種結構,與必須搜尋表中的所有行相比,索引會幫助您更快地獲得該資訊。索引提供指向儲存在表的指定列中的資料值的指標,然後根據您指定的排序順序對這些指標排序。資料庫使用索引的方式與您使用書籍中的索引的方式很相似 它搜尋索引...
mysql下的索引使用原則
為表建立索引,無疑是對資料庫比較好的優化方式之一。以下是自己對索引的總結。1.即使乙個sql可以選擇多個索引,但是大多數情況下它都會選擇乙個索引,而放棄其它的索引。1.索引的存是在where條件之後的。2.在mysql中不同的儲存引擎對索引的對待也是有點不一樣的。字首索引 又叫短索引 對串列進行索引...
Hibernate使用索引及索引新增原則
1 表上加索引 table name t s user indexes public class user 2 關聯表上加索引 試驗點 用於資料許可權控制 manytomany fetch fetchmode.subselect jointable name t s user triallocati...