中文
注册
我要评分
文档获取效率
文档正确性
内容完整性
文档易理解
在线提单
论坛求助

表分区调优

目的

表分区是指根据数据库分区键,将数据库表分解成多个更小的,容易管理的部分。从逻辑上看,只有一张表,但是底层却是由多个物理分区组成。

表分区优势:

  1. 某些查询可以得到极大的优化,当where条件包含分区键条件,数据库可以根据分区键访问需要的分区表数据,这样可以减少访问的数据量,提升查询性能。因为分区可以在创建了分区表后进行修改,所以在第一次配置分区方案时还不曾这么做时,可以重新组织数据,来提高那些常用查询的效率。
  2. 涉及到例如SUM()和COUNT()这样聚合函数的查询,可以很容易地进行并行处理,通过“并行”,这意味着该查询可以在每个分区上同时进行,最终结果只需通过总计所有分区得到的结果。
  3. 通过跨多个磁盘来分散数据查询,来获得更大的查询吞吐量。

方法

表分区主要分为以下几类:range、list、hash、key。建议根据实际的业务模型,对相关表选择适合的方法进行分区。例如,在BenchmarkSQL TPC-C测试模型中,建议将ORDER_LINE表做hash分区,分区数量根据warehouse数量决定,建议每100个warehouse建一个分区。