索引

作者: 屎倒淋头还嚼便 | 来源:发表于2019-04-24 10:52 被阅读0次

    1、mysql索引类型:normal、unique、full text  

    索引方式:btree、hash等等

    2、什么时候使用索引?

    索引提高了查询效率,但是降低了增删改的效率(这时需要维护索引表),如果一张表查询次数大于增删改的次数,

    那么可以考虑在查询频率高的字段上建立索引。

    3、如果某个字段建立了索引(比如索引方式为平衡树),就会生成一张索引表?该字段就会以BTree的数据结构存储在索引表中(每一个字段值对应其所在行的地址?),

    当某个查询语句使用了该索引时,会先到索引表中查询到该字段,然后获取它对应的行的地址,

    这样比全表搜索该字段的值要快。

    4、组合索引有最左前缀的特点,比如一个组合索引有两个字段a b

    那么实际的索引有两个

    1)、a b

    2)、a

    select * from table where a = 'm' and b = 'n'; 

    select * from table where a = 'm' ; // 这两个都使用了索引,但是where b = 'w'不会使用索引。

    5、sql优化:

    避免全表扫描,可以考虑在条件字段上添加索引

    添加了索引之后,避免索引无效,比如条件字段值为null,可以在建表时不允许默认值为null

    查询某个列时,不要返回不需要的列值,因为返回数据过多会降低效率。

    相关文章

      网友评论

          本文标题:索引

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