• 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 出现的字段尽量建索引

  • 相关阅读:
    AOP在Spring Boot中如何使用
    拦截器在Spring Boot中如何使用
    跨域在Spring Boot中如何处理
    @ControllerAdvice
    文件上传之Spring Boot整合web层
    Git和GitHub
    Spring Boot 整合web层之JSON,gson,fastjson的使用
    Spring boot整合视图层
    Spring Boot中的parent是什么?
    网页自动化,验证码识别函数,深度学习训练
  • 原文地址:https://www.cnblogs.com/fanerwei222/p/11777286.html
Copyright © 2020-2023  润新知