MySQL优化-索引
查看数据库索引使用的情况
show status like 'Handler_read%'
Handler_read_key:这个值越高越好,越高表时使用索引查询到的次数。
Handler/-read/-rnd_next:这个值越高,说明查询低效。
四种索引(主键索引/唯一索引/全文索引/普通索引)
为什么创建索引后,速度会变快?
二叉树算法
1.添加索引
1.1主键索引添加
当一张表,吧某一列设为主键的时候,则该列就是主键索引
create table aaa(
id int unsigned primary key auto_increment,
name varchar(32) not null default'');
这里id列就是主键索引
当你创建表时,没有指定主键索引,也可以再创建表后,再添加,指令:
alter table 表名 add primary key(列名);
举例:
create table bbb(
id int,
name varchar(32) not null default '');
alter table bbb add primary key (id);
1.2普通索引
一般来说,普通索引的创建,是先创建表,然后在创建普通索引
比如:
create table ccc(
id int unsigned,
name vrchar(32));
create index 索引名 on 表(列)
1.3全文索引
全文索引,主要是针对对文件,文本的检索,比如文章。
全文索引仅针对(MyISAM有用),且仅对英文生效(可通过sphinx(coreseek)技术处理中文)
create table articles(
id int unsigned auto_increment not null primary key,
title varchar(200),
body text,
fulltext(title,body)
)engine=myisam charset utf8;
如何使用全文索引:
错误用法:select * from articles where body like '%mysql%';【不会使用全文索引】
证明:explain select * from articles where body like '%mysql%';
正确用法:
select * from articles where match(title,body) against('dataBase');【可以】
select match(title,body) against('dataBase') from articles;查看每条记录与关键词的匹配度
1.4唯一索引
当表的某列被指定为unique约束时,这列就是一个唯一索引
create table ddd(
id int primary key auto_increment,
name varchar(32) unique);
这时,name列就是一个唯一索引
create unique index 索引名 on 表名(列名)
unique字段可以为NULL且能有多个,但是如果是具体内容,则不能重复
主键字段不能为NULL,也不能重复
也可以在表创建后,通过如下语句创建唯一索引
create table eee(
id int primary key auto_increment,
name varchar(32));
create unique index 索引名 on 表名(列名)
或
alter table 表名 add unique 列名
2.查询索引
desc 表名 【该方法的缺点是 不能够显示索引名】
show index[es] from 表名 [/G]
show keys from 表名
3.删除索引
alter table 表名 drop index 索引名;
或
alter table 表名 drop primary key
4.修改
先删除,再重新创建
上一篇: mysql索引优化查询
推荐阅读
-
php 连接mysql乱码解决方法_PHP教程
-
PHP实现301重定向并通知搜索引擎的代码_PHP教程
-
mysql环形同步(多主多从)_MySQL
-
MYSQL导入数据Got a packet bigger than...错误_MySQL
-
centos解决mysql连接错误ERROR 1045(28000)_MySQL
-
SEO优化:向百度学习如何做好用户体验优化
-
教你四招做好地方婚纱摄影行业网站的优化
-
MySQL5.7+版本,提示mysql1055错误,sql_mode=only_full_group_by问题解决办法
-
wordpress获取自定义字段get_post_meta函数_MySQL
-
Windows下Nginx初入门 windows10 下载 windows优化大师 windows7 64位旗舰