› 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 · Mar 8, 2021 · 3597 views
    This topic created in 2039 days ago, the information mentioned may be changed or developed.

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

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

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

    太复杂的逻辑增加临时表之类的
    zhuzhibin
        7
    zhuzhibin  
       Mar 8, 2021
    哈哈 这个老哥幽默
    clf
        8
    clf  
       Mar 8, 2021
    JOIN on 的相关字段建好索引能优化 join 的效率。

    考虑把常用的条件字段塞到一个表里,单表条件搜索完毕后再用关联字段去另外一个表里取数据。
    linxiaojialin
        9
    linxiaojialin  
       Mar 8, 2021
    如 6 楼所言。具体点就是:
    如果 join 是为了获取更多的字段,可以改成多次查询(留意 N+1 的问题),拼接数据的过程请交给代码;
    如果 join 是为了筛选,可以用 where in,where exist 等等子查询;
    以上基本就能解决,如果还不行,再考虑临时表。
    littlewing
        10
    littlewing  
       Mar 8, 2021
    业务代码自己处理,不用 join
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Privacy   ·   Solana   ·   2689 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 36ms · UTC 02:17 · PVG 10:17 · LAX 19:17 · JFK 22:17
    ♥ Do have faith in what you're doing.