请问云原生数据仓库AnalyticDB PostgreSQL版limit 50 offset 50 order by desc 并不会作用在外面的seletc p* 查询 这是为啥呢?其他数据库应该都支持这样的排序分页
排序分页是支持的,但是业务两层select ,order by 只针对内层select 降序生效,分布式数据库外层select 相当于随机拿50条,无法保证全局有序 ,此回答整理自钉群“云原生数据仓库AnalyticDB PostgreSQL版交流群开源讨论群”
在云原生数据仓库AnalyticDB PostgreSQL版中,查询时使用LIMIT和OFFSET可能不会按照预期工作。
AnalyticDB PostgreSQL版是阿里云提供的一种云原生数据仓库服务,它支持PostgreSQL的语法和生态,并且提供了高性能的数据分析能力。然而,尽管它兼容多种SQL标准,但在某些特定的SQL语法和功能上,可能会有所限制。特别是在Serverless模式下,某些语法可能不被支持。
当您在AnalyticDB PostgreSQL版中执行包含LIMIT和OFFSET的查询时,如果发现结果不符合预期,这可能是因为:
总的来说,如果您在使用AnalyticDB PostgreSQL版时遇到了这样的问题,建议查阅官方文档或联系技术支持以获取更详细的指导。同时,您也可以考虑使用其他方式来实现分页,比如使用键值范围(KEYSET)或者游标(CURSOR)来代替传统的OFFSET方法,这些方法可能在AnalyticDB PostgreSQL版中有更好的表现。
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。
阿里云自主研发的云原生数据仓库,具有高并发读写、低峰谷读写、弹性扩展、安全可靠等特性,可支持PB级别数据存储,可广泛应用于BI、机器学习、实时分析、数据挖掘等场景。包含AnalyticDB MySQL版、AnalyticDB PostgreSQL 版。