MySQL--索引

原创:转载需注明原创地址 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 出现的字段尽量建索引

 

posted @ 2019-11-01 15:30  前往幸福的路上  阅读(139)  评论(0编辑  收藏  举报