本篇文章給大家帶來的內容是關于mysql數據庫索引的內容介紹,有一定的參考價值,有需要的朋友可以參考一下,希望對你有所幫助。
存儲引擎是數據庫的核心,常用的mysql存儲引擎有innodb,myisam,memory.索引是加速數據的查詢的一種數據結構.
1. 索引簡介
1.1 索引優點
- 查詢數據塊
- 數據唯一性
- 加速表之間的連接
1.2 索引缺點
- 索引會占用存儲空間,可能比本身的表數據還大
- 只對查有利,增加了增刪改的負擔
1.3 使用索引的注意事項
- 字段值差別大的數據使用索引(性別列就不要用索引了)
- 字符字段可以只選取字段的前幾位字符建立索引,能簡少存儲數據.
2.兩個重要存儲引擎InnoDB和MyISAM
2.1 InnoDB
2.1.1 特點
- 支持事務
- 處理數據量巨大
- 表數據和索引分開存儲
- 支持行級鎖定
- 缺省 6B長度主鍵
- 主鍵本身就是索引,其索引映射的不是地址,而是主鍵,從而找到行記錄
2.1.2 InnoDB索引
只支持B+樹
2.2 ?MyISAM
2.2.1 特點
- 不支持事務
- 插入和查找極快
- 不支持事務
- 單純增查數據的首選
2.2.2 MyISAM索引
只支持B+樹
2.2.3 memory索引
支持 B+樹和HASH
MySQL數據庫一般默認innoDB存儲引擎.
3. 索引的分類
- 普通索引和唯一索引
- 單列索引和組合索引(組合索引:最左匹配才能使用)
- 全文索引:創建分詞,為每個分詞映射地址,從而通過找到索引中的分詞而找到數據的地址.
- 空間索引
4. 索引設計原則
- 并非越多越好.
- 避免對經常更新的表建立過多索引.
- 數據量小的表不使用索引.
- 索引應該建立在值差異較大的列上.
- 頻繁分組操作表上建立組合索引.
- 盡量使用短索引,節省磁盤空間.
本篇文章到這里就已經全部結束了,更多其他精彩內容可以關注PHP中文網的MySQL視頻教程欄目!
? 版權聲明
文章版權歸作者所有,未經允許請勿轉載。
THE END