美文网首页
BTree索引使用技巧

BTree索引使用技巧

作者: c_gentle | 来源:发表于2020-08-24 11:34 被阅读0次

    explain是解释计划,说明SQL的执行情况

    explain select * from t_content where content_id = 17076710;
    drop index idx_uid on t_content;
    create index idx_uid on t_content(uid);
    explain select * from t_content where uid=16940130;

    drop index idx_uid on t_content;
    create index idx_uid on t_content(uid);

    精准匹配,允许使用btree索引

    explain select * from t_content where uid = 16940130;

    范围匹配,允许使用btree索引

    explain select * from t_content where uid > 1260000 and uid < 12610000;

    查询优化器会自动进行类型转换,但仍然建议使用与定义相符的类型

    explain select * from t_content where uid like '1694%';

    drop index idx_share_url on t_content;
    create index idx_share_url on t_content(share_url);

    字符串字段btree索引允许进行"前缀查询"

    explain select * from t_content where share_url like 'http://a.f.budejie.com/share/%';

    后缀查询与模糊匹配btree均不支持

    explain select * from t_content where share_url like '%http://a.f.budejie.com/share/17076710';
    explain select * from t_content where share_url like '%http://a.f.budejie.com/share/17076710%';

    drop index idx_uid_sid on t_content;
    create index idx_uid_sid on t_content( uid , source_id );

    复合索引查询条件必须包含左侧列

    EXPLAIN select * from t_content where uid = 14206986 ;

    直接书写右侧列将导致数据无法查询,如果书写右侧列,必须要把左侧列书写上

    EXPLAIN select * from t_content where uid=14206986 and source_id = 13054 ;

    <>与not in会导致不使用索引

    EXPLAIN select * from t_content where source_id <> 13054 ;
    EXPLAIN select * from t_content where source_id <=13053 or source_id >=13055;

    相关文章

      网友评论

          本文标题:BTree索引使用技巧

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