首頁  >  文章  >  資料庫  >  如何讓資料庫索引的使用效率更高?

如何讓資料庫索引的使用效率更高?

小云云
小云云原創
2017-11-21 10:30:292244瀏覽

索引對查詢的速度有著至關重要的影響,而理解索引也是進行資料庫效能調優的起點,在實際操作過程中,應該選取表中哪些欄位作為索引?為了讓索引的使用效率更高,在建立索引時,必須考慮在哪些欄位上建立索引和建立什麼類型的索引,有7大原則:

1.選擇唯一性索引

唯一性索引的值是唯一的,可以更快速的透過該索引來決定某筆記錄。例如,學生表中學號是具有唯一性的欄位。為該欄位建立唯一性索引可以很快的確定某個學生的資訊。如果使用姓名的話,可能存在同名現象,從而降低查詢速度。

2.為經常需要排序、分組和聯合操作的字段建立索引

經常需要ORDER BY、GROUP BY、DISTINCT和UNION等操作的字段,排序操作會浪費很多時間。如果為其建立索引,可以有效地避免排序操作。

3.為常作為查詢條件的欄位建立索引

如果某個欄位常用來做查詢條件,那麼該欄位的查詢速度會影響整個資料表的查詢速度。因此,為這樣的欄位建立索引,可以提高整個表的查詢速度。

4.限制索引的數目

索引的數目不是越多越好。每個索引都需要佔用磁碟空間,索引越多,需要的磁碟空間就越大。修改表格時,對索引的重構和更新很麻煩。越多的索引,會使更新表變得很浪費時間。

5.盡量使用資料量少的索引

如果索引的值很長,那麼查詢的速度會受到影響。例如,對一個CHAR(100)類型的欄位進行全文檢索需要的時間肯定要比對CHAR(10)類型的欄位需要的時間要多。

6.盡量使用前綴來索引

如果索引欄位的值很長,最好使用值的前綴來索引。例如,TEXT和BLOG類型的字段,進行全文檢索會很浪費時間。如果只檢索欄位的前面的若干個字符,這樣可以提高檢索速度。

7.刪除不再使用或很少使用的索引

表中的資料被大量更新,或資料的使用方式被改變後,原有的一些索引可能不再需要。資料庫管理員應定期找出這些索引,將它們刪除,從而減少索引對更新操作的影響。

注意:選擇索引的最終目的是為了使查詢的速度變快。上面給出的原則是最基本的準則,但不能拘泥於上面的準則。讀者要在以後的學習和工作中進行不斷的實踐。根據應用的實際情況進行分析和判斷,選擇最適合的索引方式。

舉個例子來說,例如你在為某商場做一個會員卡的系統。這個系統有一個會員表格(大致欄位如下):

會員號碼  INT
會員姓名  VARCHAR(10)
會員身分證號碼  VARCHAR(18)
會員電話  VARCHAR(10)
會員住址  VARCHAR(50)
會員備註資訊 TEXT

#那麼這個會員編號,作為主鍵,使用PRIMARY

會員名稱如果要建立索引的話,那麼就是普通的INDEX

會員身分證號碼如果要建立索引的話,那麼可以選擇UNIQUE (唯一的,不允許重複)

會員備註資訊如果需要建立索引的話,可以選擇FULLTEXT,全文搜索。

以上這7點就是為了讓索引的使用效率更高,希望對大家有幫助。

相關推薦:

為了讓索引的使用效率更高

MySQL之btree和hash兩種索引的差異

mysql的索引最佳化如何使用

#

以上是如何讓資料庫索引的使用效率更高?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn