首页   注册   登录
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
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
V2EX  ›  MySQL

2019 mysql 缓存失效重新认识

  •  
  •   ebony0319 · 41 天前 · 2174 次点击
    这是一个创建于 41 天前的主题,其中的信息可能已经有所发展或是发生改变。

    今天面试问道 mysql 缓存失效条件,当提到 <,>,in,between and,or 的时候面试官说其实可能会走索引,回来一试好像真的。 mysql 环境:5.7.25-log 表 every_day,id 自增主键,days 普通索引。数据量 365。

    测试<,>

    select * from every_day where id<=100;
    
    select * from every_day where days<=100;
    
    select * from every_day where days between 1000 and 2000;
    
    select * from every_day where days =1 or days=2;
    
    select * from every_day where days in (1,2,3);
    

    全部都是 INDEX_SCAN (range)

    当然他也提到如果数据量达到一定数量,索引还是会失效(没有验证)。

    6 回复  |  直到 2019-10-28 14:17:19 +08:00
        1
    pedia0992   41 天前
    有二级索引,当然会走索引了.
        2
    hushao   41 天前 via iPhone
    没有理由不走索引啊..
        3
    ebony0319   41 天前
    @pedia0992
    @hushao
    我刚试了低版本的,确定确定走的全表扫描。
        4
    lolizeppelin   41 天前 via Android
    不是所有情况都是走索引比全表扫描快的
        5
    Nick66   41 天前
    mysql 5.7 单表五百万依然走索引,应该是高版本做了优化
        6
    Aresxue   39 天前
    用 innodb 大概率都是会走的,这个要看存储引擎以及其是如何组织索引的
    关于   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   2399 人在线   最高记录 5043   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.3 · 17ms · UTC 05:52 · PVG 13:52 · LAX 21:52 · JFK 00:52
    ♥ Do have faith in what you're doing.