GBASE南大通用数据库 GBase 8a 性能调优方法--数据排序

数据在按某查询列进行排序后,则相同数据取值会集中存放在有限的数据包中,因此在以该列进行过滤时,利用智能索引命中的数据包会很少,不仅能降低IO量而且会提高压缩比。其最大好处是可以将智能索引的过滤效果发挥到最优,从而使整体查询性能大幅提升。在分析性数据库场景中,建议数据按照查询常用条件列进行排序。南大通用数据库的GBase 8a 大规模应用的电信行业中,通常按照手机号码进行查询,因此可按一定的时间间隔对数据按照手机号码进行排序,则在此时间范围内的手机号码有序,在进行查询时,便可通过智能索引特性提高查询性能。 

有序数据入库的性能优势:

  • 提升智能索引对DC命中率
  • 大幅度提升查询性能
注:DC是南大通用数据库 GBase 8a的基本存储单元。

局部范围排序

数据库使用中,定期的增量数据入库,在每次增量数据批量入库前先对批量数据做排序后入库,使数据库数据在局部范围内有序,提高读取速度。

排序方式

  • 外部排序:使用排序工具(psort)对数据文件进行排序,排序后使用加载工具加载至表内
  • 库内排序:创建临时表,将未排序的数据先存储进临时表,再通过insert into select * … order by XXX方式将临时表内数据排序后插入正式表。

排序方式适应场景

  • 外部排序适合非实时加载的业务
  • 库内排序适合实时加载业务 

你可能感兴趣的:(数据库)