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

需要查询多个库,在同一个 mysql 实例,网络差的情况用 UNION ALL 会好一些么

  •  
  •   lovecy · 2020-07-10 16:09:06 +08:00 · 1508 次点击
    这是一个创建于 1634 天前的主题,其中的信息可能已经有所发展或是发生改变。

    比如需要从表 1-10 查出数据,列数一样的情况下,遍历 10 次 SQL,和拼接成一个 SQL 查询 1 次,会有优化么?

    for (i=1;i<=10;i++) {
    	qeury("SELECT * FROM tb${i}");
    }
    
    qeury("
      SELECT '1', * FROM tb1
      UNION ALL
      SELECT '2', * FROM tb2
      UNION ALL
      SELECT '3', * FROM tb3
      ....
    ");
    
    第 1 条附言  ·  2020-07-15 10:18:36 +08:00
    其实是一模一样的表,分布在不同的库里面了,现在需要查所有数据统计。
    2 条回复    2020-07-13 14:23:48 +08:00
    514146235
        1
    514146235  
       2020-07-10 18:12:03 +08:00   ❤️ 1
    一般来说,生产环境是禁止使用 UNION 的。
    zhangysh1995
        2
    zhangysh1995  
       2020-07-13 14:23:48 +08:00
    UNION ALL/UNION 有不少 bug,不同列数据类型合并会出现各种错误,比如 unsigned/signed 混合,char/varchar 混合,这些是有实际例子的,可以去 MySQL Bug 库搜一搜。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   983 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 20:55 · PVG 04:55 · LAX 12:55 · JFK 15:55
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.