国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

淺談mysql的索引設計原則以及常見索引的區別

2024-07-24 12:52:10
字體:
來源:轉載
供稿:網友

索引定義:是一個單獨的,存儲在磁盤上的數據庫結構,其包含著對數據表里所有記錄的引用指針.

數據庫索引的設計原則:

為了使索引的使用效率更高,在創建索引時,必須考慮在哪些字段上創建索引和創建什么類型的索引。
那么索引設計原則又是怎樣的?

1.選擇唯一性索引

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

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

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

3.為常作為查詢條件的字段建立索引

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

4.限制索引的數目

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

5.盡量使用數據量少的索引

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

6.盡量使用前綴來索引

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

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

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

8.小表不應建立索引;包含大量的列并且不需要搜索非空值的時候可以考慮不建索引

----------------------------------------------------------

mysql索引相關小常識:

一、 經常被用來過濾記錄的字段。

1. primary key 字段, 系統自動創建主鍵的索引;
2. unique key 字段,系統自動創建對應的索引;
3. foreign key 約束所定義的作為外鍵的字段;

4. 在查詢中用來連接表的字段;

5. 經常用來作為排序(order by 的字段)基準的字段;

二、索引會占用磁盤空間,創建不必要的索引只會形成浪費。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 仙游县| 怀宁县| 石河子市| 洪湖市| 塘沽区| 永顺县| 锡林郭勒盟| 宁陕县| 湖北省| 紫金县| 旺苍县| 邹城市| 嵊泗县| 南京市| 怀来县| 永登县| 永安市| 泰兴市| 上林县| 新泰市| 汝南县| 扎囊县| 林周县| 虎林市| 游戏| 屯昌县| 南江县| 武威市| 乌恰县| 东乌珠穆沁旗| 清流县| 赞皇县| 揭阳市| 屏南县| 商丘市| 吉隆县| 江达县| 沁源县| 宝山区| 丹凤县| 砚山县|