4. 索引的代價
前面幾講介紹了索引在提高效能方面的威力以及如何使用索引,但是索引也是有開銷的
1) 占用磁碟空間
如前面所述,索引是有開銷的,表現在新增索引後.ibd檔案(innodb引擎)或者.myi檔案(myisam引擎)會變大。
2) 導致dml操作速度變慢
新增索引後之所以會快,是因為表依據索引對資料按某種演算法(二叉樹等)進行排序,所以刪除、增加、插入後二叉樹要重新排序,導致執行效率降低。
此時要看自己的資料庫是dml語句執行的多還是dql語句執行的多
使用以下語句可以查詢
查詢一共執行了多少次select
[plain]view plain
copy
show status like 『com_select』
查詢一共執行了多少次insert
[plain]view plain
copy
show status like 『com_insert』
以此類推
一般來說,dql語句操作比dml語句要多得多!接近9:1
既然索引有利有弊,那麼怎樣人為地控制索引的使用呢?
強制不使用索引
[plain]view plain
copy
select *** from table ignore index(index_***)
強制使用索引
[plain]view plain
copy
select * from table force index(index_***)
資料庫調優 2 索引
一 建立索引技巧 應該選擇資料量大的表。應該選擇使用頻繁的字段上建立索引,如經常查詢的字段,排序的字段,用於where子句作為條件判斷的字段。經常用在連線的列。應該選擇重複值較小的字段上建立所以,例如使用者表 應該在使用者id上建立索引,而不是使用者的位址如省份或者性別。當修改效能遠遠大於檢索效能時...
剖析資料庫效能調優技術之索引調優
剖析資料庫效能調優技術之索引調優 2008 1 28 9 37 00 by iulu 一 概述 隨著資料庫在各個領域的使用不斷增長,越來越多的應用提出了高效能的要求。資料庫效能調優是知識密集型的學科,需要綜合考慮各種複雜的因素 資料庫緩衝區的大小 索引的建立 語句改寫等等。總之,資料庫效能調優的目的...
資料庫調優
1 資料庫調優 計算機硬體調優 資料庫物件的放置策略 利用資料庫分割槽技術,均勻地把資料分布在系統的磁碟中,平衡i o 訪問,避免i o 瓶 頸 使用磁碟硬體優化資料庫 基本表設計優化 第三正規化的基本特徵 是非主鍵屬性只依賴於主鍵屬性。優點 一是能消除 冗餘資料 節省磁碟儲存空間 二是有良好的資料...