zoukankan      html  css  js  c++  java
  • MySQL 查询优化之 or

    当使用or的时候是不会用到索引的

    mysql> explain SELECT * FROM aladdin_resource WHERE  state = 1 OR state = 2;
    +----+-------------+------------------+------+---------------+------+---------+------+-------+-------------+
    | id | select_type | table            | type | possible_keys | key  | key_len | ref  | rows  | Extra       |
    +----+-------------+------------------+------+---------------+------+---------+------+-------+-------------+
    |  1 | SIMPLE      | aladdin_resource | ALL  | state         | NULL | NULL    | NULL | 59074 | Using where |
    +----+-------------+------------------+------+---------------+------+---------+------+-------+-------------+
    1 row in set (0.00 sec)
    

      解决办法就是用union替换or

     explain select * from aladdin_resource where state=1 union select * from aladdin_resource where state=2;
    +----+--------------+------------------+------+---------------+-------+---------+-------+-------+-------------+
    | id | select_type  | table            | type | possible_keys | key   | key_len | ref   | rows  | Extra       |
    +----+--------------+------------------+------+---------------+-------+---------+-------+-------+-------------+
    |  1 | PRIMARY      | aladdin_resource | ref  | state         | state | 2       | const |   383 | Using where |
    |  2 | UNION        | aladdin_resource | ref  | state         | state | 2       | const | 21370 | Using where |
    | NULL | UNION RESULT | <union1,2>       | ALL  | NULL          | NULL  | NULL    | NULL  |  NULL |             |
    +----+--------------+------------------+------+---------------+-------+---------+-------+-------+-------------+
    3 rows in set (0.05 sec)
    

      高下立判

  • 相关阅读:
    jinja2模板引擎生成HTML【转】
    Hadoop集群安装
    批量执行工具之pssh
    Linux下安装JDK1.8
    pycharm打开远程linux ssh terminal
    tar高阶操作之加密分卷压缩与解密压缩
    Docker/Dockerfile debug调试技巧
    docker容器内挂载目录无权限 ls cannot open directory Permission denied
    bmc Linux ipmi远程管理口配置查询及密码重置
    js对input框的可编辑属性设置
  • 原文地址:https://www.cnblogs.com/xiongji/p/3823403.html
Copyright © 2011-2022 走看看