mysql分页,说id分页都是忽悠新人,是不是?

新手上路,请多包涵

全网都是用id,再用limit,优化方案都是 指定id大于特定分页未知id...不切实际啊!

id自增int

key是char类型 xxxx-xxxx-xxxx-xxxx

排序字段是 项目结束时间

where条件是 各种状态判断,

业务场景: 一定要用时间排序,所以id是乱序的! 后面自动加进来的订单可能结束时间更早,id肯定是乱的,不能用id>特定id来分页,key又是不可抗不会变的string...

这种情况越靠后咋分页???

再加一点难度...还需要left join => group by...索引又废..

阅读 1.6k
1 个回答

能用游标的前提就已经是不可随意指定排序条件了,常见的场景比如信息流这种。

你要是做个后台系统表格,二三十种查询条件外加十几个自定义排序的列,用游标干啥?

甚至即便是不可随意指定排序条件,如果你的表里一共就几十万这种数据量,LIMIT + OFFSET 也是完全能 hold 住。

真要有复杂排序需求的场景,而且数据量很大,就需要引入其他组件了,比如 ElasticSearch。

软件工程第一要义:没有银弹(这本书很好,我建议程序员们可以都读读)。不存在一个统一的方法能适用于各种条件的。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进