码迷,mamicode.com
首页 > 数据库 > 详细

MySQL--索引

时间:2019-11-01 16:44:26      阅读:104      评论:0      收藏:0      [点我收藏+]

标签:sele   而且   rom   ref   添加   where   索引   主键   组合   

原创:转载需注明原创地址 https://www.cnblogs.com/fanerwei222/p/11777286.html

 

 

MySQL--索引:

  主键索引, 唯一索引, 普通索引, 组合索引

CREATE INDEX可以添加普通索引和唯一索引

创建一个名称为index_of_stu的表名为stu_user, 索引列为gender的普通索引
CREATE INDEX index_of_stu ON stu_user(gender);

创建一个名称为index_of_stu_name的表名为stu_user, 索引列为sname的唯一索引
CREATE UNIQUE INDEX index_of_stu_name ON stu_user(sname);

ALTER可以添加普通索引,唯一索引,主键索引三种模式;而且参数列表可以有多个参数

新增一个普通索引
ALTER TABLE stu_user ADD INDEX index_add_one(sid);

新增一个唯一索引
ALTER TABLE stu_user ADD UNIQUE(sid,cid);

新增一个主键索引
ALTER TABLE stu_user ADD PRIMARY KEY(sname);

删除索引
DROP INDEX index_name_of_stu ON stu_user;

删除索引
ALTER TABLE stu_user DROP INDEX index_name_of_stu;

删除唯一索引
ALTER TABLE stu_user DROP PRIMARY KEY;

查看表名为stu_user的索引
SHOW INDEX FROM stu_user

查看该查询语句对索引的使用情况
EXPLAIN SELECT * FROM stu_user

创建一个组合索引(最左原则, 如果缺少sid, 则该组合索引不生效)
ALTER TABLE stu_user ADD INDEX index_add_one(sid, cid);

注意事项:

  1.索引要建立在经常进行select操作的字段上

  2. 索引不会包含有NULL的列

  3. SQL查询只使用一个索引

  4. LIKE操作左匹配原则-->like %bbbbb%不会使用索引,而like bbbbb%可以使用索引

  5. 不要在列上进行运算

  6. .不使用NOT IN 、<>、!=操作,但<,<=,=,>,>=,BETWEEN,IN是可以用到索引的

  7. 使用短索引

  8. 二进制列尽量不建索引

  9. WHERE JOIN 出现的字段尽量建索引

 

MySQL--索引

标签:sele   而且   rom   ref   添加   where   索引   主键   组合   

原文地址:https://www.cnblogs.com/fanerwei222/p/11777286.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!