索引規范
更新時間 2025-06-17 11:00:33
最近更新時間: 2025-06-17 11:00:33
分享文章
本文為您介紹索引規范。
禁止修改聚集索引或主鍵
為了維持B+tree帶來大量的數據移動,一般要求使用跟業務不相關的id來作為整形自增主鍵
盡量合并索引
索引加快了查詢度,但是卻會影響寫入性能。
一個表的索引應該結合這個表相關的所有SQL綜合創建,盡量合并。
組合索引的原則是:過濾性越好的字段越靠前,例如
key (a)和key(a,b)存在,則可以直接刪除key(a),對于select ……from tb where a=123;,則可以使用索引(a,b)。
禁止給選擇性低的字段建單列索引
MySQL對索引的過濾性存在要求,如果過濾性太低,則MySQL會被放棄使用。
禁止使用外鍵約束
對性能損耗特別大。
讓應用程序去維護約束。
字符類型字段應盡量使用前綴索引
太長的索引不僅影響寫入性能,而且使用效果較差,因此字符串類型字段一般只建前綴索引,例如
alter table test_long_str add index idx_str(str(16));。
合理使用復合索引
一般情況下,復合索引比普通索引更加適用,因此,有些索引可以修改成復合索引。
針對LIKE查詢的索引問題,應注意使用前綴索引
LIKE只能使用前綴索引,示例說明如下:
col like “abc%”可以用索引col like “%abc%”不可以用索引col like“%abc”不可以用索引