没有合适的资源?快使用搜索试试~ 我知道了~
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询数据库表中数据。 索引的意义 索引用于快速找出在某个字段中有特定值的行。如果不使用索引,MySQL必须从第一条记录开始检索表中的每一条记录,直到找出相关的行,那么表越大,查询数据所花费的时间就越多。如果在表中查询的字段有索引,MySQL能够快速到达一个位置去检索数据文件,而不需要再去查看所有数据,那么将会节省很大一部分查询时间。 比如说emp表中1W个员工的记录,要查询salesman的员工信息,如果没有索引,服务器会从表中第一条记录开始,一条条往下遍历,直到找到职位为salesman的员工信息。如果有了索引,它会把job这个字段
资源详情
资源评论
资源推荐
MySQL索引索引
数据库索引,是数据库管理系统中一个排序的数据结构,以协助快速查询数据库表中数据。
索引的意义索引的意义
索引用于快速找出在某个字段中有特定值的行。如果不使用索引,MySQL必须从第一条记录开始检索表中的每一条记录,直
到找出相关的行,那么表越大,查询数据所花费的时间就越多。如果在表中查询的字段有索引,MySQL能够快速到达一个位
置去检索数据文件,而不需要再去查看所有数据,那么将会节省很大一部分查询时间。
比如说emp表中1W个员工的记录,要查询salesman的员工信息,如果没有索引,服务器会从表中第一条记录开始,一条条往
下遍历,直到找到职位为salesman的员工信息。如果有了索引,它会把job这个字段,通过一定的方法进行存储,在查询这个
字段上的信息时,能够快速找到对应的数据,而不需要再遍历1W条记录了。
索引的优缺点索引的优缺点
所有MySQL的字段类型都可以添加索引,但是索引也不是越多越好,而是要根据业务数据合理的使用。
优点优点
通过索引对数据进行检索,大大提高了数据的查询效率。
缺点缺点
创建索引和维护索引要耗费时间,并且随着数据量的增加所耗费的时间也会增加。
索引也需要占空间的,创建的索引太多,索引文件也会占用数据库的存储空间。
当对表中的数据进行增加、删除、修改时,索引也需要动态的维护,降低了数据的维护速度。
创建索引的原则创建索引的原则
需要创建索引的情况:
主外键和唯一约束的字段自动创建索引
频繁作为查询条件的字段应该创建索引
查询中排序的字段应该创建索引
查询中分组或统计的字段应该创建索引
不需要创建索引的情况:
表中记录太少不需要创建索引
需要频繁增删改的字段不适合创建索引
where子句中用不到的字段不需要创建索引
重复值较多的字段不需要创建索引
索引的结构索引的结构
索引是在存储引擎中实现的,使用不同的存储引擎,所支持的索引也是不同的。
在mysql中常用两种索引结构BTree和Hash,两种算法检索方式不一样,对查询的作用也不一样。
MyISAM和InnoDB存储引擎只支持BTREE索引,MEMORY/HEAP存储引擎支持HASH和BTREE索引。
MySQL的InnoDB存储引擎是支持hash索引的,不过我们必须启用,hash索引的创建由InnoDB存储引擎自动优化创建,我们
干预不了。
索引的类型索引的类型
索引的类型可以分类以下几种:
普通索引:最基本的索引,没有任何限制
weixin_38747126
- 粉丝: 5
- 资源: 921
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功
评论0