Mysql 索引

来源:互联网 发布:站长之家源码下载 编辑:程序博客网 时间:2024/05/29 12:34

1、索引,实际上是一个排好序的数据结构,在Mysql里面,这种数据结构主要是BTREE和Hash表。
2、通过索引查询数据,不但可以提高查询速度,还可以降低服务器的负载。不过创建和维护索引页需要耗费额外的代价,而且索引本身也是数据,同样占用物理空间。
3、不同的存储引擎规定每个表的最大索引数和最大索引长度。所有存储引擎对每个表至少支持16个索引,总索引长度至少256字节。

索引类型

1、普通索引
不做任何限制参数的索引。
2、唯一索引
加unique参数
3、全文索引
加fulltext参数,只能作用在char varchar text三种数据类型的字段上
4、单列索引
只有一列的索引
5、多列索引
有多个列的索引
6、空间索引
加spatial参数,只能建立在空间数据类型上,只有MyISAM存储引擎支持。

创建索引的方式有三种:

1)创建表的时候创建
2)通过create index脚本直接创建
3)通过alter脚本在更改表定义的时候创建

考虑到索引更多情况下是为了优化性能而创建的,建表的时候主要只创建非业务主键和业务主键,其他索引都建议在见表后根据使用情况来创建。所以,创建索引的方式也主要学习第二种就可以了。
创建脚本模板:
create [unique | fulltext | spatial ] index index_name on table_name(column_nam [(length)] [asc | desc]);

eg:
创建唯一索引
create unique index 索引名 on 表名(字段名);
创建多列索引
create index 索引名 on 表名(字段名1,字段名2,字段名3…)
删除索引
drop index 索引名 on 表名;

0 0
原创粉丝点击