資料庫調優教程(七)索引的代價

2021-06-30 16:58:18 字數 1029 閱讀 7795

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 瓶 頸 使用磁碟硬體優化資料庫 基本表設計優化 第三正規化的基本特徵 是非主鍵屬性只依賴於主鍵屬性。優點 一是能消除 冗餘資料 節省磁碟儲存空間 二是有良好的資料...