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 · 200 天前 · 1676 次点击
    这是一个创建于 200 天前的主题,其中的信息可能已经有所发展或是发生改变。

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

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

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

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

    考虑把常用的条件字段塞到一个表里,单表条件搜索完毕后再用关联字段去另外一个表里取数据。
    linxiaojialin
        9
    linxiaojialin   200 天前
    如 6 楼所言。具体点就是:
    如果 join 是为了获取更多的字段,可以改成多次查询(留意 N+1 的问题),拼接数据的过程请交给代码;
    如果 join 是为了筛选,可以用 where in,where exist 等等子查询;
    以上基本就能解决,如果还不行,再考虑临时表。
    littlewing
        10
    littlewing   200 天前
    业务代码自己处理,不用 join
    关于   ·   帮助文档   ·   FAQ   ·   API   ·   我们的愿景   ·   广告投放   ·   感谢   ·   实用小工具   ·   974 人在线   最高记录 5497   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 18ms · UTC 20:37 · PVG 04:37 · LAX 13:37 · JFK 16:37
    ♥ Do have faith in what you're doing.