數據庫索引
在數據庫中、索引使數據庫程序無須對整個表進行全表掃描就可以在其中找到所需的數據;
數據庫中的索引是某個表中一列或者若干列值的集合、以及物理標識這些值的數據頁的邏輯指針清單;
MySQL 索引的增刪查
SQL 語句效率的分析
索引的作用:
設置合適的索引、可以快速定位、加快查詢效率;
表數據量大、或者涉及多個表連查時、加快查詢速率;
降低數據庫的排序成本、減少數據庫的IO成本;
索引的分類:
單列索引:建立在單列上的索引;
多列索引:建立在多列上的索引;
普通索引:基本的索引類型、沒有任何的限制;
唯一索引:和普通索引基本相同、唯一區別是:索引列的所有值都只能出現一次;
主鍵索引:是一種唯一性索引、但是必須指定為 "PRIMARY KEY"(主鍵)
全文索引:MYSQL3.23版本開始支持全文索引和全文檢索;
(MYISAM存儲引擎才支持全文檢索)
在MYSQL中、全文索引的索引類型為 FULLTEXT、
全文索引可以在VARCHAR或者TEXT類型的列上創建;
創立索引原則:
表的主鍵、外鍵必須有索引;
數據量超過300行的表應該有索引;
經常與其它表 進行連接的表、應該在連接的字段上建立索引;
經常出現在where子句中的字段、特別是大表的字段、應該建立索引;
索引應該建立在選擇性較高的字段上
索引應該建立在小字段上;
對于大的文本字段、或者超長字段不適合建立索引;
唯一性太差的字段不適合建立索引;
更新太頻繁的字段不適合建立索引;
MuSQL只對以下操作符使用索引:<, <=, =, >=, BETWEEN, IN, 以及有時候的LIKE;
(在LIKE操作中使用索引的情形是指另一個操作數不是以通配符(%或者_)開頭的情形)