分区的概念-the design and analysis of algorithms

时间:2024-06-29 04:38:56
【文件属性】:

文件名称:分区的概念-the design and analysis of algorithms

文件大小:4.17MB

文件格式:PDF

更新时间:2024-06-29 04:38:56

达梦,DM7

19.1 分区的概念 分区是指将表、索引等数据库对象划分为较小的可管理片段的技术,每一个片段称为分 区子表或分区索引。一个表被分区后,对表的查询操作可以局限于某个分区进行,而不是整 个表,这样可以大大提高查询速度。 DM7支持对大表进行水平或垂直划分。例如,通讯公司将用户通话记录保存在一张表中, 一年这个表产生 40GB的数据。假设要对用户的通话信息按照季度进行统计,那么这样的统 计需要在全表范围内进行。如果对表按季度进行水平分区,那么每个分区的大小平均为10GB 左右,这样在进行统计时,只需在 10GB的范围内进行即可。然而,假设现在只需统计用户 通话的某些信息,通话信息表已经进行了垂直分区,并且需要统计的信息都在同一个垂直分 区中,那么只需在那个分区中进行分区扫描即可,扫描范围也可大大减少。 DM7采用子表方式创建分区表,分区表作为分区主表,而每一个分区以一个子表实体存 在,即每一个分区都是一个完整的表,一般命名为主表名_分区名。对于水平分区,子表跟 主表具有相同的逻辑结构,即分区子表与分区主表有相同的列定义和约束定义。对于垂直分 区表,子表上的列是主表上列的子集。在 DM7 分区表中,主表本身不存储数据,所有数据 只存储在子表中,从而实现不同分区的完全独立性。水平分区子表删除后,会将子表上的数 据一起删除。 由于每一个分区都以一个子表作为实体,那么不同分区可以存储于相同表空间,也可以 位于不同的表空间中。将这些分区放在不同的表空间中具有以下的好处: 1. 减少所有数据都损坏的可能性,一个表空间损坏不影响其他表空间,提高可用性; 2. 恢复时间大大减少; 3. 可以将同一个表中的数据分布在不同的磁盘上,从而均衡磁盘上的 I/O操作; 4. 提高了表的可管理性、可利用性和访问效率。 分区操作对现存的应用和运行在分区表上的标准 DML 语句来说是透明的。但是,可以 通过在 DML中使用分区子表名字来对应用进行编程,使其充分利用分区的优点。


网友评论