概述¶
随着应用程序的发展,数据库所要处理的数据也越来越多,这就对数据库能够满足海量数据的访问提出了需求,而水平分区的功能可以满足这样的需求,它使得数据库更加适应海量数据访问数据库,同时,提高了用户的响应速度。通过对数据表的水平分区,从而达到对数据库表的水平划分,加快了对数据库的访问速度。
用户可以通过使用水平分区功能,使应用程序在访问海量数据时更加快速,特别是对于一些以时间和数字作为分区键的数据,更是能够极大的提高它们的响应速度。用户可以根据实际需求,选择最合适的分区键,同时可以通过数据库提供的各种操作函数,对分区进行灵活的控制。
水平分区技术可以将大表、大索引分解为更小、更易管理的块,这些块被称为分区,通过水平分区技术可以有效地解决大表、大索引带来的问题。用户对分区表执行的SQL查询或DML语句与对普通表数据表的语句一样。但是定义了分区后,DDL语句可以访问、操作一个单独的分区,而不是整个表或索引,这样通过分区技术就能简化对大数据库对象的管理工作。
每一个分区表或索引有相同的逻辑属性,例如列名、数据类型和约束等,同时,每一个分区都有独立的物理属性,如压缩启用或禁用、物理存储设置和表空间等。
水平分区提供以下优点:
- 允许对分区而不是对整个表进行如下数据操作,数据加载、索引创建和重建、备份和恢复等。这样可以提高操作的效率。
- 可以提高查询的性能。在很多情况下,直接对子分区查询而不是对整个表查询就可以获得查询结果。对于某些查询,使用分区裁剪技术可以跳过不必要的分区及子分区,这样就可以显著地减少数据访问量,从而大幅度提升查询性能。
- 允许执行并行SELECT查询及并行DML操作。可以对同一个表或索引的不同分区进行并行维护操作,通过这个特性,用户可以提高数据批处理操作的可伸缩性及执行性能。
- 并行执行提高资源利用率和减少执行时间。