美文网首页
mysql索引二

mysql索引二

作者: 酷酷的美猴王 | 来源:发表于2021-02-02 16:54 被阅读0次

    1、什么是索引?

    索引是帮助数据库高效获取数据的数据结构。

    2、索引的引用层次划分

    • 唯一索引:索引列的值必须唯一,但允许有空值。
    • 复合索引:一个索引包含多个列。
    • 普通索引:即一个索引只包含单个列,一个表可以有多个单列索引。

    3、如何添加索引

    3.1主键索引

    ALTER TABLE `table_name` ADD PRIMARY KEY ( `column` )
    

    3.2唯一索引

    ALTER TABLE `table_name` ADD UNIQUE (`column`)
    

    3.3 普通索引

    ALTER TABLE `table_name` ADD INDEX index_name (`column` )
    

    3.4 多列索引

    ALTER TABLE `table_name` ADD INDEX index_name (`column1`,`column2`,`column3`)
    

    4、注意事项

    4.1、sql语句将可过滤掉最多数据的字段放前面

    比如,user表数据有1000w条,现在要查询男生(sex=1)&20岁(age=20) 的数据有多少,sql查询where 条件应该是 age=20 and sex=1

    4.2、like语句 'xx%'索引有效;'%xx'索引失效

    4.3、联合索引要符合最左匹配原则

    例如:
    user表 联合索引 name - age
    sql语句where 条件
    name='张三' and age=20 索引有效
    age=20 and name='张三' 索引失效

    4.4、使用不等于(!= 、<>)索引失效

    例如:select name from user where age != 20 索引失效

    4.5、字符串不用单引号索引失效

    例如:
    select id from user where name=张三; 索引失效
    select id from user where name='张三'; 索引有效

    4.6、or连接索引失效

    例如:select id from user where name='张三' or name='李四' 索引失效

    4.7、order by、group by 索引失效

    4.8、索引列计算或用函数 索引失效

    5、一条sql语句如何执行

    image.png

    相关文章

      网友评论

          本文标题:mysql索引二

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