本文主要是介绍南大通用数据库 GBase 8a 性能调优方法--数据排序,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
数据在按某查询列进行排序后,则相同数据取值会集中存放在有限的数据包中,因此在以该列进行过滤时,利用智能索引命中的数据包会很少,不仅能降低IO量而且会提高压缩比。其最大好处是可以将智能索引的过滤效果发挥到最优,从而使整体查询性能大幅提升。在分析性数据库场景中,建议数据按照查询常用条件列进行排序。南大通用数据库的GBase 8a 大规模应用的电信行业中,通常按照手机号码进行查询,因此可按一定的时间间隔对数据按照手机号码进行排序,则在此时间范围内的手机号码有序,在进行查询时,便可通过智能索引特性提高查询性能。
有序数据入库的性能优势:
- 提升智能索引对DC命中率
- 大幅度提升查询性能
局部范围排序
数据库使用中,定期的增量数据入库,在每次增量数据批量入库前先对批量数据做排序后入库,使数据库数据在局部范围内有序,提高读取速度。
排序方式
- 外部排序:使用排序工具(psort)对数据文件进行排序,排序后使用加载工具加载至表内
- 库内排序:创建临时表,将未排序的数据先存储进临时表,再通过insert into select * … order by XXX方式将临时表内数据排序后插入正式表
排序方式适应场景
- 外部排序适合非实时加载的业务
- 库内排序适合实时加载业务
这篇关于南大通用数据库 GBase 8a 性能调优方法--数据排序的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!