V2EX = way to explore
V2EX 是一个关于分享和探索的地方
Sign Up Now
For Existing Member  Sign In
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
deasty
V2EX  ›  MySQL

大家帮我估算一下这个查询所需要的时间

  •  
  •   deasty · Feb 22, 2019 via iPhone · 4727 views
    This topic created in 2625 days ago, the information mentioned may be changed or developed.
    一个大表,8 个字段,1400 万行,没有索引,打算执行下面的查询
    select * from tab1 where userid in(select userid from tab1 where mm = 6)
    已知 mm = 6 的 userid 有 18000 个
    求估算输出结果大概需要多少时间
    12 replies    2019-02-24 11:14:46 +08:00
    feiyuanqiu
        1
    feiyuanqiu  
       Feb 22, 2019 via Android
    explain 一下
    ppyax
        2
    ppyax  
       Feb 23, 2019 via Android
    in 不能超 1000
    1762628386
        3
    1762628386  
       Feb 23, 2019
    @ppyax 为啥
    Leigg
        4
    Leigg  
       Feb 23, 2019 via iPhone
    分钟级别至少的吧
    lynskylate
        5
    lynskylate  
       Feb 23, 2019 via Android
    in 是 n^2 的,写这种 sql review 的时候都会被打回去的
    binux
        6
    binux  
       Feb 23, 2019 via Android
    你干嘛不 select * from tab1 where mm = 6
    deasty
        7
    deasty  
    OP
       Feb 23, 2019 via iPhone
    @binux 因为需要查询 mm = 6 的用户历史数据,表中存在同一个用户 mm = 5 和 mm = 6 的不同情况,需要都查询出来
    opengps
        8
    opengps  
       Feb 23, 2019
    没有索引,那么时间至少是全表大小硬盘读出的时间,再加上运算所需要的时间。先忽略运算部分,光读出部分就很耗时间了
    leon0318
        9
    leon0318  
       Feb 23, 2019 via Android
    @lynskylate 如何优化呢?
    lynskylate
        10
    lynskylate  
       Feb 23, 2019 via Android
    @leonme 通常用 join 代替 in, join 字段加索引,这个时间复杂度通常来说是 o n 的
    winoros
        11
    winoros  
       Feb 24, 2019
    那么为什么不加索引呢
    luozic
        12
    luozic  
       Feb 24, 2019
    为啥不用索引? 这种多的,要么搞个专门查询的 es 什么的,要么出钱。
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   923 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 45ms · UTC 23:22 · PVG 07:22 · LAX 16:22 · JFK 19:22
    ♥ Do have faith in what you're doing.