V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
andychen20121130
V2EX  ›  问与答

mysql 数据库分页问题

  •  
  •   andychen20121130 · 2017-06-06 10:32:11 +08:00 · 1336 次点击
    这是一个创建于 2731 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个问题想请教一下。数据表在使用了自动增长 id,分页时使用了 limit m,n,数据表中的记录会有增减。 有没什么可以提高效率的方法。所说 m 大的时间效率会降低。

    2 条回复    2017-06-06 16:21:50 +08:00
    abcbuzhiming
        1
    abcbuzhiming  
       2017-06-06 13:33:23 +08:00
    编程没有银弹,你在网上就一个技术点搜了一圈也没发现什么新方案是,那就是唯一方案,全世界的 mysql 分页都是这么做的,因为 mysql 只提供了 limit。至于你说的效率问题,如果 m 真有大到能影响到效率的程度,而单纯堆硬件你也解决不了了,那就开始考虑分表吧
    admol
        2
    admol  
       2017-06-06 16:21:50 +08:00
    先快速定位需要获取的 id 段,然后再关联:
    SELECT a.* FROM 表 1 a, (select id from 表 1 where 条件 LIMIT 100000,20 ) b where a.id=b.id

    出自阿里的 java 开发手册
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   1040 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 22ms · UTC 22:13 · PVG 06:13 · LAX 14:13 · JFK 17:13
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.