1、比如復合索引字首原則,當我們建立a、b、c三個復合索引時,當我們使用ab或者a或者abc時,索引會被用到,但是使用bc、ac或b或c時就用不到索引。
2、like查詢%問題:%在前,like查詢欄位的索引會失效。
3、全表掃瞄的優化:假設資料表中有1000條資料,要查詢900條資料,這時mysql優化器就會放棄索引的使用,而進行全表掃瞄,原因是使用索引的話,就會迴圈900次,每次都是找索引,在根據索引找資料,這樣同樣的操作會執行900次,這時mysql會自動放棄這種操作,而是進行全表掃瞄(比根據索引查詢速度快)。
4、or條件索引使用情況:or前面使用索引,or後面沒有使用索引,這時索引就會失效。
5、字串型別索引實效的問題:字串裡存的是整形,在查詢的時候,如果不加引號,這時索引會失效,所以在查詢的時候最好加引號。
資料庫索引建立原則
索引並不是越多越好,在合適的字段上建立合適的索引。索引的建立會影響寫資料的操作速度,會占用更多的磁碟空間。所以建立索引最好是在where條件內作為查詢條件。當然也要注意一些細節 1 比如復合索引字首原則,當我們建立a b c三個復合索引時,當我們使用ab或者a或者abc時,索引會被用到,但是使用bc...
資料庫建立索引的原則
鐵律一 天下沒有免費的午餐,使用索引是需要付出代價的。索引的優點有目共睹,但是,卻很少有人關心過採用索引所需要付出的成本。若資料庫管理員能夠對索引所需要付出的代價有乙個充分的認識,也就不會那麼隨意到處建立索引了。仔細數數,其實建立索引的代價還是蠻大的。如建立索引和維護索引都需要花費時間與精力。特別是...
資料庫建立索引的原則
鐵律一 天下沒有免費的午餐,使用索引是需要付出代價的。索引的優點有目共睹,但是,卻很少有人關心過採用索引所需要付出的成本。若資料庫管理員能夠對索引所需要付出的代價有乙個充分的認識,也就不會那麼隨意到處建立索引了。仔細數數,其實建立索引的代價還是蠻大的。如建立索引和維護索引都需要花費時間與精力。特別是...