zoukankan      html  css  js  c++  java
  • 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 出现的字段尽量建索引

  • 相关阅读:
    7-3 列表或元组的数字元素求和 (20 分)
    7-2 一帮一 (15 分)
    7-11 字典合并 (40 分)
    7-6 统计工龄 (20 分)
    7-5 统计字符出现次数 (20 分)
    7-4 分析活动投票情况 (20 分)
    7-3 四则运算(用字典实现) (30 分)
    7-22 找鞍点 (20 分)
    制作 U 盘启动盘
    mysql 多表连接的
  • 原文地址:https://www.cnblogs.com/fanerwei222/p/11777286.html
Copyright © 2011-2022 走看看