mysql之索引
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了mysql之索引,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含1930字,纯文字阅读大概需要3分钟。
内容图文
![mysql之索引](/upload/InfoBanner/zyjiaocheng/448/78183dab1f9746478180efe1cb974449.jpg)
索引是数据的目录,能快速定位数据的位置,索引提高了查询速度,但降低了增,删,改的速度,一般在查询频率较高并且重复度较低的列上加。
索引类型
index--普通索引
给已存在的表的列创建索引,create index 索引名称 on 表名称 (列名称(10));
在建表时声明索引,create table 表名 (id int,name char(20),email char(20),index name(name(10))); name(10)中的10是索引长度,是从左到右的10个字符
修改索引,alter table 表名 add index name (name(10));
unique index--唯一索引,与普通索引类似,不同的是索引列的值必须是唯一的,但允许有空值
给已存在的表的列创建索引,create unique index 索引名称 on 表名称 (列名称(10));
在建表时声明索引,create table 表名 (id int,name char(20),email char(20),unique index name(name(10)));
修改索引,alter table 表名 add unique index name (name(10));
primary key--主键索引,是一种特殊的唯一索引,不允许有空值,主键索引无需命名,一张表只能有一个主键索引
在建表时声明索引,create table 表名 (id int,name char(20),email char(20),primary key (name(10)));
修改索引,alter table 表名 add primary key (name(10));
fulltext index--全文索引,innodb存储引擎不支持全文索引,中文环境下,全文索引无效,要分词+索引,一般用第三方解决方案,如sphinx
给已存在的表的列创建索引,create fulltext index 索引名称 on 表名称 (列名称(10));
在建表时声明索引,create table 表名 (id int,name char(20),email char(20),unique fulltext index name(name(10)));
修改索引,alter table 表名 add fulltext index name (name(10));
多列索引,把2列或多列看出一个整体,然后建索引,使用多列索引,比如where等条件,列名必须是从多列索引最左至右连续的列名左条件才可以,这和单一索引前缀类似。
调用多列索引,select * from 表名 where name=‘zhangsan‘ and city=‘beijing‘;
冗余索引,在一个列上同时存在多个索引,比如,xm(xing,ming),ming(ming)。
查看索引,show index from 表名,show create table 表名也可以看到。
删除索引,drop index 索引名 on 表名,或者alter table 表名 drop index 索引名。
mysql之索引
标签:
本文系统来源:http://www.cnblogs.com/museluo/p/4510481.html
内容总结
以上是互联网集市为您收集整理的mysql之索引全部内容,希望文章能够帮你解决mysql之索引所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。