本篇文章给大家带来的内容是关于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视频教程栏目!
