mysql--------四种索引类型
2018-02-05 00:00
330 查看
一、索引的类型
mysql索引的四种类型:
主键索引:
主键是一种唯一性索引,但它必须指定为
唯一索引:
索引列的所有值都只能出现一次,即必须
普通索引 :
全文索引:
全文索引的索引类型为
二、查看表的所有索引和删除
三、索引的机制
1.为什么我们
传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,mysql需要将表的数据从头到尾遍历一遍
在我们添加完索引之后,mysql一般通过
2.索引的代价
2.1创建索引是为产生索引文件的,
2.2索引文件是一个
3.在哪些column上使用索引?
3.1较频繁的作为查询条件字段应该创建索引
3.2唯一性太差的字段不适合创建索引,尽管频繁作为查询条件,例如gender性别字段
3.3
3.4
总结: 满足以下条件的字段,才应该创建索引.
a: 肯定在where条
mysql索引的四种类型:
主键索引、
唯一索引、
普通索引和
全文索引。通过给字段
添加索引可以
提高数据的读取速度,提高项目的并发能力和抗压能力。
索引优化时mysql中的一种优化方式。索引的作用相当于
图书的目录,可以根据目录中的页码
快速找到所需的内容。
主键索引:
主键是一种唯一性索引,但它必须指定为
PRIMARY KEY,每个表只能有一个主键。
alert table tablename add primary key (`字段名`)
唯一索引:
索引列的所有值都只能出现一次,即必须
唯一,值可以为
空。
alter table table_name add primary key (`字段名`);
普通索引 :
基本的索引类型,值可以为空,没有唯一性的限制。
alter table table_name add index (`字段名`);
全文索引:
全文索引的索引类型为
FULLTEXT。全文索引可以在
varchar、char、text类型的列上创建。可以通过
ALTER TABLE或CREATE INDEX命令创建。对于大规模的数据集,通过ALTER TABLE(或者CREATE INDEX)命令创建全文索引要比把记录插入带有全文索引的空表更快。
MyISAM支持全文索引,
InnoDB在mysql5.6之后支持了
全文索引。 全文索引
不支持中文需要借
sphinx(coreseek)或
迅搜<、code>技术处理中文。
alter table 表名 add FULLTEXT(`字段名`);
二、查看表的所有索引和删除
#查看: show indexes from `表名`; #或 show keys from `表名`; #删除 alter table `表名` drop index 索引名;
三、索引的机制
1.为什么我们
添加完索引后
查询速度为变快?
传统的查询方法,是按照表的顺序遍历的,不论查询几条数据,mysql需要将表的数据从头到尾遍历一遍
在我们添加完索引之后,mysql一般通过
BTREE算法生成一个
索引文件,在查询数据库时,找到索引文件进行
遍历(折半查找大幅查询效率),找到相应的键从而获取数据
2.索引的代价
2.1创建索引是为产生索引文件的,
占用磁盘空间
2.2索引文件是一个
二叉树类型的文件,可想而知我们的dml操作同样也会对索引文件进行修改,所以性能会下降
3.在哪些column上使用索引?
3.1较频繁的作为查询条件字段应该创建索引
3.2唯一性太差的字段不适合创建索引,尽管频繁作为查询条件,例如gender性别字段
3.3
更新非常频繁的字段
不适合作为索引
3.4
不会出现在where子句中的字段
不该创建索引
总结: 满足以下条件的字段,才应该创建索引.
a: 肯定在where条
经常使用b: 该字段的内容
不是唯一的几个值c: 字段内容
不是频繁变化。
相关文章推荐
- MySQL四种常用索引类型
- mysql--------四种索引类型
- mysql--------四种索引类型
- MySQL MyISAM索引类型分析和优化
- mysql索引的类型和优缺点
- mysql索引类型normal,unique,full text解释
- mysql索引类型及说明
- MySQL索引类型一览 让MySQL高效运行起来
- mysql索引总结----mysql 索引类型以及创建
- 简单介绍下MYSQL的索引类型
- 【转】MySql索引类型的总结和使用
- 认识mysql索引类型
- MySQL索引类型一览 让MySQL高效运行起来
- mysql索引类型
- 『MySQL』索引类型 normal, unique, full text
- MySQL表的四种分区类型详解
- MYSQL的全表扫描,主键索引(聚集索引、第一索引),非主键索引(非聚集索引、第二索引),覆盖索引四种不同查询的分析
- mysql索引类型和索引方法
- mysql索引类型总结和使用技巧以及注意事项
- MySQL索引类型及优化