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

两种 sql 查询方式选择

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

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

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

    mysql 中有两个库 A ,B 分别对应独立两个项目,现在有第三个项目需要关联查询 ab 两个库的数据

    方式一(直接使用库名.表名)
    
    SELECT
    	a.id,
    	b.id
    FROM
    	databaseA.table a
    LEFT JOIN databaseB.table b ON a.account = b.account
    
    方式二(在某个库中新建视图)
    SELECT
    	a.id,
    	b.id
    FROM
    	databaseA.table a
    LEFT JOIN databaseA.v_table b ON a.account = b.account
    

    在十万数据基础上测试速度 方式一 > 方式二 但是这种直接使用库名方式感觉有点突兀,有其它讲究吗

    11 条回复  ?  2024-02-28 13:51:05 +08:00
    zhangyoucaiyo
        1
    zhangyoucaiyo  
       68 天前
    我选择怎么方便怎么来 从不考虑效率 查询慢那是 DBA 的事情
    bubble21
        2
    bubble21  
    OP
       68 天前
    @zhangyoucaiyo 哈哈,没有 DBA ,直接一把梭
    dog82
        3
    dog82  
       68 天前
    两种写法没区别,因为 sql 引擎会把视图层代入还原掉,然后 CBO 会优化成执行效率一样的
    orzwalker111
        4
    orzwalker111  
       68 天前
    服务划分角度,不同系统,尽量别跨库联表查询。1 )大数据/数仓那边出; 2 ) X 服务(或 A 或 B )远程接口调用聚合数据; 3 )之前将 Atable 和 Btable 拆分到不同库/系统,领域划分是否合理,是否有重新合并到一个系统/库的必要; 4 )同步一张表到 A 或 B
    bubble21
        5
    bubble21  
    OP
       67 天前
    @dog82 受教了(抱拳)
    bubble21
        6
    bubble21  
    OP
       67 天前
    @orzwalker111 第三个项目中只是关联查询,不涉及到业务修改。第四种能实时的话将是不错的方案
    boshok
        7
    boshok  
       67 天前
    方式一,一点也不突兀。
    cheng6563
        8
    cheng6563  
       67 天前
    视图里慎重使用分组查询等骚操作
    bubble21
        9
    bubble21  
    OP
       67 天前
    @cheng6563 请兄弟明示,视图刚好有使用分组语句
    bubble21
        10
    bubble21  
    OP
       67 天前
    @boshok 结果倒是一样,就是写法上有没有规范
    cheng6563
        11
    cheng6563  
       67 天前
    @bubble21 你多 explain 调试调试,视图里骚操作太多容易索引失效,甚至产生 N+1 查询。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   804 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 20:02 · PVG 04:02 · LAX 13:02 · JFK 16:02
    Developed with CodeLauncher
    ? Do have faith in what you're doing.


    http://www.vxiaotou.com