› MySQL 5.5 Community Server
› MySQL 5.6 Community Server
› Percona Configuration Wizard
› XtraBackup 搭建主从复制
Great Sites on MySQL
› Percona
› MySQL Performance Blog
› Severalnines
推荐管理工具
› Sequel Pro
› phpMyAdmin
推荐书目
› MySQL Cookbook
MySQL 相关项目
› MariaDB
› Drizzle
参考文档
› http://mysql-python.sourceforge.net/MySQLdb.html
leorealman
V2EX  ›  MySQL

mysql 索引问题?

  •  
  •   leorealman · Mar 13, 2020 · 4534 views
    This topic created in 2432 days ago, the information mentioned may be changed or developed.

    如图,为什么 Expain 执行计划没走索引嗯?

    MYSQL VEISION: 5.7.21-21-log Percona Server (GPL), Release 21, Revision 2a37e4e

    14 replies  •  2020-03-14 19:56:26 +08:00
    hbolive
    hbolive
    Mar 13, 2020
    1
    可能 mysql 认为,就这几条数据,还是全表扫描来得快?
    b821025551b
    b821025551b
    Mar 13, 2020
    2
    你这数据量太少了,怼进去几十万条数据再说。
    falsemask
    falsemask
    Mar 13, 2020
    3
    1L+1,有可能,走索引查还需要回表查所有字段,mysql 选择了全表扫描,你试试 select name, age
    leorealman
    leorealman
    OP
    Mar 13, 2020
    4
    @hbolive 还有这个说法嘛?大佬
    brader
    brader
    Mar 13, 2020
    5
    mysql 的查询优化器,会预估多种查询方式的成本,来生成最佳的查询计划,如果某个字段的辨识度不高,那么 mysql 优化器进行采样预估的时候,可能会认为使用索引的成本较高(采样失误可能原因:基数太小、采样小概率采集到一样的)转而进行全表扫描
    gz911122
    gz911122
    Mar 13, 2020
    6
    stabc
    stabc
    Mar 13, 2020
    7
    先执行
    ·SELECT SQL_NO_CACHE * FROM TABLE·
    zzmx
    zzmx
    Mar 13, 2020
    8
    mysql trace 了解一下。5 楼说的比较详细,应该就是这样了
    huigeer
    huigeer
    Mar 13, 2020
    9
    name 和 age 的联合索引走一波试试
    lis66951735
    lis66951735
    Mar 13, 2020
    10
    涨知识了
    ylsc633
    ylsc633
    Mar 13, 2020
    11
    优化器觉得 你这数据这么少 扫全表都比 索引来的快! 就不走索引了!

    相反! 比如你查询的数据是个范围!数量比较多,开始时候 可能走索引,范围越来越大,那么 很可能也就不走索引了!
    enorth
    enorth
    Mar 13, 2020
    12
    个人觉得是 select * 的缘故,用 覆盖索引 select name,age 就会走索引了
    enorth
    enorth
    Mar 13, 2020
    13
    试了下,自己错了。应该是 5 楼的原因。
    encro
    encro
    Mar 14, 2020
    14
    大于总数一半,不走索引。

    如一个表里面有 status 这个字段,status=1 绝大部分,status=0 少部分,那么 where status=1 不走,status=0 走索引
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   3312 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 10:14 · PVG 18:14 · LAX 02:14 · JFK 05:14
    ♥ Do have faith in what you're doing.