大多數情況下,業務sql十分複雜,沒法優化。所以就要建立索引了。這個時候,參照如下規則建立索引
索引並非越多越好。大量的索引不僅占用磁碟空間,而且還會影響insert,delete,update等語句的效能
避免對經常更新的表做更多的索引,並且索引中的列盡可能少;對經常用於查詢的字段建立索引,避免新增不必要的索引
資料量少的表盡量不要使用索引,由於資料較少,查詢花費的時間可能比遍歷索引的時間還要短,索引可能不會產生優化效果
在條件表示式中經常用到不同值較多的列上建立索引,在不同值很少的列上不要建立索引。比如性別字段只有「男」「女」倆個值,就無需建立索引。如果建立了索引不但不會提公升效率,反而嚴重減低資料的更新速度
在頻繁進行排序或者分組的列上建立索引,如果排序的列有多個,可以在這些列上建立聯合索引。
資料庫索引建立原則
索引並不是越多越好,在合適的字段上建立合適的索引。索引的建立會影響寫資料的操作速度,會占用更多的磁碟空間。所以建立索引最好是在where條件內作為查詢條件。當然也要注意一些細節 1 比如復合索引字首原則,當我們建立a b c三個復合索引時,當我們使用ab或者a或者abc時,索引會被用到,但是使用bc...
資料庫建立索引的原則
鐵律一 天下沒有免費的午餐,使用索引是需要付出代價的。索引的優點有目共睹,但是,卻很少有人關心過採用索引所需要付出的成本。若資料庫管理員能夠對索引所需要付出的代價有乙個充分的認識,也就不會那麼隨意到處建立索引了。仔細數數,其實建立索引的代價還是蠻大的。如建立索引和維護索引都需要花費時間與精力。特別是...
資料庫建立索引的原則
鐵律一 天下沒有免費的午餐,使用索引是需要付出代價的。索引的優點有目共睹,但是,卻很少有人關心過採用索引所需要付出的成本。若資料庫管理員能夠對索引所需要付出的代價有乙個充分的認識,也就不會那麼隨意到處建立索引了。仔細數數,其實建立索引的代價還是蠻大的。如建立索引和維護索引都需要花費時間與精力。特別是...