开发者社区 > 数据库 > 数据仓库 > 正文

请问云原生数据仓库AnalyticDB PostgreSQL版limit 查询 这是为啥呢?

请问云原生数据仓库AnalyticDB PostgreSQL版limit 50 offset 50 order by desc 并不会作用在外面的seletc p* 查询 这是为啥呢?其他数据库应该都支持这样的排序分页

展开
收起
真的很搞笑 2024-01-21 19:41:24 45 0
2 条回答
写回答
取消 提交回答
  • 排序分页是支持的,但是业务两层select ,order by 只针对内层select 降序生效,分布式数据库外层select 相当于随机拿50条,无法保证全局有序 ,此回答整理自钉群“云原生数据仓库AnalyticDB PostgreSQL版交流群开源讨论群”

    2024-01-22 10:57:16
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    在云原生数据仓库AnalyticDB PostgreSQL版中,查询时使用LIMIT和OFFSET可能不会按照预期工作

    AnalyticDB PostgreSQL版是阿里云提供的一种云原生数据仓库服务,它支持PostgreSQL的语法和生态,并且提供了高性能的数据分析能力。然而,尽管它兼容多种SQL标准,但在某些特定的SQL语法和功能上,可能会有所限制。特别是在Serverless模式下,某些语法可能不被支持。

    当您在AnalyticDB PostgreSQL版中执行包含LIMIT和OFFSET的查询时,如果发现结果不符合预期,这可能是因为:

    • 优化器行为:AnalyticDB的查询优化器在进行查询优化时,会根据统计信息进行查询代价估算和优化。如果没有收集过统计信息或统计信息过旧,系统可能无法生成最优执行计划。
    • 内部架构:AnalyticDB PostgreSQL版采用的是自研的云原生存算分离架构,这种架构可能在处理某些查询时与传统的PostgreSQL数据库有所不同。

    总的来说,如果您在使用AnalyticDB PostgreSQL版时遇到了这样的问题,建议查阅官方文档或联系技术支持以获取更详细的指导。同时,您也可以考虑使用其他方式来实现分页,比如使用键值范围(KEYSET)或者游标(CURSOR)来代替传统的OFFSET方法,这些方法可能在AnalyticDB PostgreSQL版中有更好的表现。

    2024-01-21 19:46:49
    赞同 展开评论 打赏

相关产品

  • 云原生数据仓库AnalyticDB MySQL版
  • 云原生数据仓库 AnalyticDB PostgreSQL版
  • 热门讨论

    热门文章

    相关电子书

    更多
    云栖大会:开源 PolarDB 架构演进、关键技术与社区建设 立即下载
    2023云栖大会:和客户一起玩转PolarDB新特性 立即下载
    2023云栖大会:PolarDB for AI 立即下载