andychen20121130
V2EX  ›  问与答

mysql 数据库分页问题

  •  
  •   andychen20121130 · Jun 6, 2017 · 1859 views
    This topic created in 3287 days ago, the information mentioned may be changed or developed.

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

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

    出自阿里的 java 开发手册
    About   ·   Help   ·   Advertise   ·   Blog   ·   API   ·   FAQ   ·   Solana   ·   3028 Online   Highest 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 584ms · UTC 08:42 · PVG 16:42 · LAX 01:42 · JFK 04:42
    ♥ Do have faith in what you're doing.