zoukankan      html  css  js  c++  java
  • mysql 索引

    innodb引擎:

     索引(Index)是帮助MySQL高效获取数据的数据结构。我们可以简单理解为:快速查找排好序的一种数据结构

    explain:

    possible_key:可能用到的索引
    key:用到的索引

    无索引:

    #无索引
    EXPLAIN SELECT * FROM a WHERE id like "%3";
    #无索引
    EXPLAIN SELECT * FROM a WHERE id like "%3%";

    #有索引

    #最左前缀原则 有索引
    EXPLAIN SELECT * FROM a WHERE id like "3%";

    #or 有索引

    EXPLAIN SELECT * FROM a WHERE `name` in ('测试_7','测试_8','测试_9','测试_10','测试_11','测试_12''测试_13','测试_14','测试_15','测试_16','测试_17','测试_18');

    #in 有索引

    EXPLAIN SELECT * FROM a WHERE `name` = '测试_7'or name='测试_8'or name='测试_9'or name='测试_10'or name='测试_11'or name='测试_12'or name='测试_13'or name='测试_14'or name='测试_15'or name='测试_16'or name='测试_17'or name='测试_18';

    #复合索引 MySQL组合索引“最左前缀”的结果
    ALTER TABLE jinxudong ADD INDEX name_remark (name(10),remark(255));

    desc jinxudong;
    #索引有效
    EXPLAIN SELECT * FROM jinxudong WHERE `name`='a' AND remark ='a';
    #索引有效
    EXPLAIN SELECT * FROM jinxudong WHERE `name`='a';
    #索引失效
    EXPLAIN SELECT * FROM jinxudong WHERE `remark`='a';
    #有索引 因为有a 最左边原则
    EXPLAIN SELECT * FROM jinxudong WHERE `remark`='a' AND name='a';

    # 举例:给 a b c 建立组合索引 则 a有效 abc有效 ab有效 bc无效 b c 都无效

  • 相关阅读:
    ubuntu 14.04 安装python包psycopg2
    vmare 往 virtualbox迁移
    docker-compose & docker 镜像/加速
    nodejs & npm & gulp 安装和配置
    airflow 优化
    airflow 部署
    windows 上vmare超卡的问题解决方案
    HDU 6781 Solo (贪心 + 优先队列)
    HDU 6779 Drink (最小费用流)
    HDU 6778 Car (状压DP)
  • 原文地址:https://www.cnblogs.com/coderdxj/p/10018735.html
Copyright © 2011-2022 走看看