开发者社区> 问答> 正文

帮忙解答下OceanBase数据库分区的问题,运行了几年的项目,是将数据按条件过滤好之后,再排序吗?

能帮忙解答下OceanBase数据库分区的问题,运行了几年的项目,数据量快到1亿了,需要考虑使用分区。
1、分区之后,汇总分页查询时的排序逻辑,比如一页展示20条数据,如果这20条刚好分布在不同的分区上,展示的时候,是将数据按条件过滤好之后,再排序吗?
2、分区之后,如果查询条件不带映射字段,对查询有什么影响?

展开
收起
cuicuicuic 2023-12-17 17:06:24 32 0
来自:OceanBase
2 条回答
写回答
取消 提交回答
  • 分区表可以参考这个文档https://ask.oceanbase.com/t/topic/35602379?_gl=1*1xpizap*_ga*MTA0MzI0Mzk3NS4xNjk2ODQ3ODAx*_ga_T35KTM57DZ*MTcwMjI3MDQwNi4xNzMuMS4xNzAyMjg0MzM3LjQ3LjAuMA..

    也可以再社区问答发个帖子 https://ask.oceanbase.com/ ,此回答整理自钉群“[社区]技术答疑群OceanBase”

    2023-12-18 07:45:52
    赞同 展开评论 打赏
  • 面对过去,不要迷离;面对未来,不必彷徨;活在今天,你只要把自己完全展示给别人看。

    分区是OceanBase数据库解决大表容量问题和高并发访问时性能问题的重要手段,它将大表拆分为更多更小的结构相同的独立对象,即分区。这样做的好处是可以分散压力,提高数据的管理效率和使用效率,同时不存在磁盘的限制。

    对于你的问题:

    1. 在进行汇总分页查询时,如果一页展示20条数据,而这20条数据刚好分布在不同的分区上,展示的时候,OceanBase会先按照查询条件过滤数据,然后再进行排序。因为分区表的查询SQL跟普通表是一样的,OceanBase的OBProxy或OBServer会自动将用户SQL路由到相应节点内,因此,分区表的分区细节对业务是透明的。

    2. 如果查询条件不带映射字段,对查询的影响主要取决于具体的查询需求和数据分布情况。如果查询条件不涉及分区键,那么查询可能会在所有分区上执行,这可能会增加查询的复杂性和执行时间。但是,OceanBase会自动优化这类查询,尽可能地减少其对系统性能的影响。

    2023-12-17 18:35:41
    赞同 展开评论 打赏
来源圈子
更多
收录在圈子:
+ 订阅
蚂蚁OceanBase数据库团队,用于OceanBase技术原理、运维经验和案例分享、对外交流。
问答排行榜
最热
最新

相关电子书

更多
开源HTAP OceanBase产品揭秘 立即下载
云数据库OceanBase 架构演进及在金融核心系统中的实践 立即下载
自研金融数据库OceanBase的创新之路 立即下载