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
daoqiongsi1101
V2EX  ?  MySQL

MySQL 大表有性能问题,但如果只查最近的数据呢?

  •  
  •   daoqiongsi1101 · 2021-04-17 16:42:41 +08:00 · 2298 次点击
    这是一个创建于 1121 天前的主题,其中的信息可能已经有所发展或是发生改变。

    腾讯云最新优惠活动来了:云产品限时1折,云服务器低至88元/年 ,点击这里立即抢购:9i0i.cn/qcloud,更有2860元代金券免费领取,付款直接抵现金用,点击这里立即领取:9i0i.cn/qcloudquan

    (福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

    有个疑问,MySQL 在有索引的情况下,如果数据达到一定的量级,查询同样也会有性能问题,那么如果只查最近的数据呢?比如 id 是自增长的,只查最近几十条,这种情况是否查询比较快,还是说查询性能只跟数据量和索引有关,跟是否最近的数据没有关系。

    谢谢!

    9 条回复  ?  2021-04-18 21:31:21 +08:00
    xuanbg
        1
    xuanbg  
       2021-04-17 16:57:03 +08:00
    所以大表需要拆分和旧数据归档,减少体量就能重新快起来了。
    opengps
        2
    opengps  
       2021-04-17 17:20:20 +08:00
    id 本身默认也是个索引,很多时候能否快速查到,也看索引是否足够快速过滤。我推测:只查最近,跟索引的正序倒叙有会直接关系
    FrankAdler
        3
    FrankAdler  
       2021-04-17 18:00:17 +08:00
    索引是个树,不管树多深,如果只遍历头部几个节点,性能是没有区别的
    akira
        4
    akira  
       2021-04-17 18:25:44 +08:00
    只查最近的数据 ,也需要对应的索引来缩小范围
    zlowly
        5
    zlowly  
       2021-04-18 03:32:27 +08:00
    你得知道,一般数据库数据的存放无论是物理还是逻辑上都不一定是按顺序,特别是有删除更新的情况下。但是有可能你最近新增的数据会仍在内存缓冲里,这时候的由于节省了磁盘开销所以性能看起来会快些。
    wakzz
        6
    wakzz  
       2021-04-18 09:26:24 +08:00
    MySQL 的 innodb 引擎有个缓存池,专门缓存底层数据页。只考虑大表的性能问题,不考虑 SQL 优化的话,查询时在索引树能完全被缓存层命中的情况下,记录行被缓存层命中率越低,性能越慢。
    这里字段缓存层指的是 innodb_buffer_pool,优先会缓存热点数据。因此在大表的查询中尽可能避免命中冷门数据,那么数据量对查询性能基本没有什么影响。
    ltfree
        7
    ltfree  
       2021-04-18 14:11:31 +08:00
    只查询最近的数据,也就是缩小查询的范围,这种方法是可以提高查询效率的。
    Evilk
        8
    Evilk  
       2021-04-18 14:55:27 +08:00 via iPhone
    我司,有个大表,4 亿多条数据,根据 relative_id and resource 查询,基本上 3s 没返回
    myd
        9
    myd  
       2021-04-18 21:31:21 +08:00
    @Evilk 这么慢
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2845 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 25ms · UTC 09:26 · PVG 17:26 · LAX 02:26 · JFK 05:26
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com