美文网首页
SQL 索引

SQL 索引

作者: Lrxc | 来源:发表于2019-09-30 15:33 被阅读0次

    一 普通索引

    1. 3种创建方式
    #创建索引方式一(上面创建表时直接指定)
    CREATE TABLE test(
    id int(10) PRIMARY KEY AUTO_INCREMENT,
    name varchar(20) comment '姓名',
    index i_name1 (name,age)
    )
    
    #创建索引方式二(创建)
    CREATE INDEX i_name2 ON test(name); 
    
    #创建索引方式三(修改表)
    ALTER TABLE test ADD INDEX i_name3(name);
    
    1. 删除索引
      ···

    显示索引

    SHOW INDEX FROM test;

    删除索引

    DROP INDEX i_name1 ON test;
    ···
    二 唯一索引
    它与前面的普通索引类似,不同的就是:索引列的值必须唯一,但允许有空值。如果是组合索引,则列值的组合必须唯一。
    创建方式同上,需要在 关键字 INDEX 前加上 UNIQUE

    #创建索引方式二(创建)
    CREATE UNIQUE INDEX i_name2 ON test(name); 
    

    三 组合索引
    1 创建
    和普通索引一样,只不过列名会多几个(username,password)

    CREATE INDEX i_name ON t_user(name,pwd); 
    

    2 原则
    最左优先原则:
    index key on tablename(a,b,c)

    select * from tablename where a=1 and ...有效
    select * from tablename where b=1 and ...无效
    select * from tablename where c=1 and ...无效

    也就是说 索引顺序的第一个(a)必须和WHERE后的第一个查询条件(a=1)顺序一样,否则会失效

    三 测试速度
    3w条数据,不加索引大概7s,加上索引只需1s

    相关文章

      网友评论

          本文标题:SQL 索引

          本文链接:https://www.haomeiwen.com/subject/obgmyctx.html