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

[求助]mysql 跨库 jion 分页查有没有什么好的解决方法

  •  
  •   hehezhang · 2021-03-08 09:30:55 +08:00 · 2560 次点击
    这是一个创建于 1381 天前的主题,其中的信息可能已经有所发展或是发生改变。

    查的时候总是查询时间很长,动不动就超时,有没有什么好的解决方案啊

    10 条回复    2021-03-08 19:47:09 +08:00
    RedBeanIce
        1
    RedBeanIce  
       2021-03-08 09:35:19 +08:00
    你又不问优化,一句空白的话问出来。又有什么用。
    MySQL 优化指南,请。
    xuanbg
        2
    xuanbg  
       2021-03-08 09:45:24 +08:00
    啥情况都不说,那也只能 MySQL 优化指南自己看了
    wangritian
        3
    wangritian  
       2021-03-08 09:57:52 +08:00
    兄弟,你回头看自己提的问题,能看懂吗?提问一定要尽量精简的给出全部信息啊
    Umenezumi
        4
    Umenezumi  
       2021-03-08 10:00:00 +08:00
    「 JOIN 」 竟然还拼错了。。
    tankren
        5
    tankren  
       2021-03-08 10:25:21 +08:00
    JOIN
    phpfpm
        6
    phpfpm  
       2021-03-08 10:27:43 +08:00
    优化 join 的方式是不要写 join 。
    改成子查询+多次查询。

    拼接数据的过程请交给代码。

    太复杂的逻辑增加临时表之类的
    zhuzhibin
        7
    zhuzhibin  
       2021-03-08 10:44:05 +08:00
    哈哈 这个老哥幽默
    clf
        8
    clf  
       2021-03-08 10:58:49 +08:00
    JOIN on 的相关字段建好索引能优化 join 的效率。

    考虑把常用的条件字段塞到一个表里,单表条件搜索完毕后再用关联字段去另外一个表里取数据。
    linxiaojialin
        9
    linxiaojialin  
       2021-03-08 12:23:02 +08:00
    如 6 楼所言。具体点就是:
    如果 join 是为了获取更多的字段,可以改成多次查询(留意 N+1 的问题),拼接数据的过程请交给代码;
    如果 join 是为了筛选,可以用 where in,where exist 等等子查询;
    以上基本就能解决,如果还不行,再考虑临时表。
    littlewing
        10
    littlewing  
       2021-03-08 19:47:09 +08:00
    业务代码自己处理,不用 join
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3477 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 10:46 · PVG 18:46 · LAX 02:46 · JFK 05:46
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.