前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >数据库:分区

数据库:分区

作者头像
heidsoft
发布2023-03-18 17:21:37
3760
发布2023-03-18 17:21:37
举报
文章被收录于专栏:云计算与大数据

分区机制减少管理负担,是因为与在一个大对象上执行操作相比,在小对象上执行同样的操作更为容易,速度更快,而且占用的资源也更少。

假如数据库中有一个10G的索引,如果你需要重建这个索引,而该索引未分区,那就必须将整个10G的索引作为一个工作单元来重建。尽管可以在线重建索引,但是要重建完整的10G B索引,还是需要占用大量的资源。

在线重建索引时,需要至少10GB的空闲存储空间来存放这两套索引,此外你还需要一个临时事物日志表,来记录重建索引期间表上发生的修改。如果将这个索引划分为10个1GB的分区,那就可以一个接一个地单独重建各个索引分区,而且现在所需的空闲存储空间只有原来的10%。此外单个索引分区的重建速度也会更快(可能是原来的10倍),因而需要向新索引合并的事物也会更少。

如果10GB索引的重建在即将完成之时发生了系统或软件故障,那么我们所做的全部努力是不是全部付诸东流了。如果把问题分解,将索引划分为1GB的分区,那么最多只会丢掉重建工作的10%。

分区应用的最后一个重要场景是,有时你可能只需要重建10%的索引,比如只需对最新的数据(活跃数据)进行重组,但是不需要对旧数据(相对静态的数据)重组。

分区的好处它能够增强一些SQL语句(Select,Insert,Update,Delete,Merge)的性能。这些SQL分为两类,一类是修改信息的语句,另一类是读取信息的语句。

并行DML

数据库中的修改数据的语句都能以并行的方式执行。在一个有充足I/O带宽的多CPU主机上,这样的大规模DML操作所带来的速度提升可能会相当显著。

查询性能

在提升只读查询(Select语句)的性能方面,分区会使用下面两种特殊的操作。

分区修剪:处理查询时不考虑某些分区内的数据。

并行操作:并行全表扫描和并行索引区间扫描就是这种操作的例子。

  1. 分区能降低OLTP系统上的争用,从而增强系统的并发处理能力。我们都知道分区机制会将一个表的数据分散到多个物理分区中去,如果某个未分区的表(也就是某个段)上有着大量争用,那么将单个段打散成多个段也会相应的降低争用。

分区表的方法

  1. 区间分区
  2. 散列分区
  3. 列表分区
  4. 间隔分区
  5. 引用分区
  6. 间隔引用分区
  7. 虚拟列分区
  8. 组合分区
  9. 系统分区
本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2023-01-21,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 云数智圈 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
数据库
云数据库为企业提供了完善的关系型数据库、非关系型数据库、分析型数据库和数据库生态工具。您可以通过产品选择和组合搭建,轻松实现高可靠、高可用性、高性能等数据库需求。云数据库服务也可大幅减少您的运维工作量,更专注于业务发展,让企业一站式享受数据上云及分布式架构的技术红利!
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档