mysql--------四种索引类型

1、索引的类型 mysql

mysql索引的四种类型:主键索引惟一索引普通索引全文索引。经过给字段添加索引能够提升数据的读取速度,提升项目的并发能力和抗压能力。索引优化时mysql中的一种优化方式。索引的做用至关于图书的目录,能够根据目录中的页码快速找到所需的内容算法

 

    主键索引:
        主键是一种惟一性索引,但它必须指定为PRIMARY KEY,每一个表只能有一个主键。
sql

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(`字段名`);

2、查看表的全部索引和删除mysql索引

#查看:
    show indexes from `表名`;
    #或
    show keys from `表名`;
     
    #删除
    alter table `表名` drop index 索引名;

3、索引的机制优化

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: 字段内容不是频繁变化
spa

相关文章
相关标签/搜索