› 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
UnrealEngine
V2EX  ›  MySQL

mysql 关联查询中 where 子句查询字段明明有索引为什么 explain 的时候没有?

  •  
  •   UnrealEngine · Nov 21, 2023 · 2217 views
    This topic created in 1047 days ago, the information mentioned may be changed or developed.

    SELECT cms.id uid, cms.username, cms.nickname, cms.type, count(*) num_member FROM yz_customer_service cms INNER JOIN yz_customer_service_member cm ON cms.id=cm.customer_service_id WHERE cms.create_time BETWEEN '1695000000' AND '1700496000' GROUP BY cms.id;

    create_time 有没有索引 type 一直都是 index

    如果把 GROUP BY 去掉的话 type 直接 ALL 了……

    6 replies  •  2024-01-21 21:56:33 +08:00
    UnrealEngine
        1
    UnrealEngine  
    OP
       Nov 21, 2023
    txzhanghuan
        2
    txzhanghuan  
       Nov 21, 2023
    时间去掉引号试试
    UnrealEngine
        3
    UnrealEngine  
    OP
       Nov 21, 2023
    @txzhanghuan #2 不行……
    wooyulin
        4
    wooyulin  
       Nov 21, 2023   ❤️ 1
    索引是怎么建的,时间的区分度打不打,数据量怎么样。
    1 、groupBy id 可能走 主键索引更有优势
    1 、涉及回表,mysql 不一定会走 create_time 索引
    wooyulin
        5
    wooyulin  
       Nov 21, 2023   ❤️ 1
    把 cms.username, cms.nickname, cms.type 去掉对比一下
    dyv9
        6
    dyv9  
       Jan 21, 2024 via Android
    表里有多少数据呀?数据量少时索引有没有差别不大,用索引返回的值接近表的量级时索引反而浪费时间,因为拿着所有钥匙逐个开门查房比每次跑前台拿一把钥匙查房再回去前台拿下一个房间钥匙快得多。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2283 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 37ms · UTC 15:34 · PVG 23:34 · LAX 08:34 · JFK 11:34
    ♥ Do have faith in what you're doing.