適合建立索引的情況
表中的主關鍵字自動建立唯一索引;
表中字段的唯一約束,oracle利用索引來保證資料的完整性;
直接條件查詢的字段,在sql中直接用於條件約束的字段;
查詢中排序的字段,排序字段通過索引會提高效率;
查詢中與其他表建立關聯的字段,外來鍵關聯字段;
查詢中統計或分組統計的字段。
以下情況需注意不適合建索引:
表記錄太少不適合建索引,首先要訪問索引表然後通過索引訪問資料表,一般索引表和資料表在不同的資料塊中;
經常插入、刪除、修改的表在查詢允許的情況下盡量少建索引;
資料重複且分布平均的字段,如性別。
建索引還需注意:
1) 考慮表空間和磁碟空間是否充足,索引也是一種資料;
2) 在對錶加索引的時候會對錶加鎖,因此要在業務空閒的時候;
3) 新增時避免過度索引,即資料重複且分布平均的字段可以不加;
4) mysql每次查詢只能使用乙個索引,如果將單個索引條件聚合,以最佳左字首方式建立復合索引效能更加;
5) 索引字段不能有null,如果有null值將不會包含在索引中;
6) 使用短索引,乙個大的char可以指定前幾位索引;
7) 排序索引時,如果where條件包含了索引排序order的時候不在使用了,如果order多個字段可以建立復合索引;
8) like語句操作索引,一般不贊成,」%aaa%」不會使用索引,」aaa%」可以使用;
9) 不使用not in和操作,他不會使用索引並且是全表掃瞄操作,可以用 not exists代替。
資料庫學習 索引的使用
1.索引概念 索引就是加快檢索表中資料的方法。資料庫的索引類似於書籍的索引。在書籍中,索引允許使用者不必翻閱完整個書就能迅速地找到所需要的資訊。在資料庫中,索引也允許資料庫程式迅速地找到表中的資料,而不必掃瞄整個資料庫。其本身是乙個單獨的,儲存在磁碟上的資料庫結構,其包含著對資料表裡所有記錄的引用指...
資料庫 索引的使用
1.索引的含義和特點 1 索引是單獨的 儲存在磁碟上的資料結構 他們包含著對資料表裡所有記錄的引用指標。2 通過建立唯一索引,可以保證資料庫表中每一行資料的唯一性。3 可以大大的加快資料的查詢速度 4 加速表與表之間的聯絡 5 減少查詢中分組和排序的時間 6 建立索引的維護索引需要耗費時間 並且隨著...
資料庫索引的使用
多列索引1 多列索引2 mysql中的多列索引。1 聯合索引又叫復合索引。對於復合索引 mysql從左到右的使用索引中的字段,乙個查詢可以只使用索引中的一部份,但只能是最左側部分。例如索引是key index a,b,c 可以支援a a,b a,b,c 3種組合進行查詢,但不支援 b,c進行查詢 當...