当前位置:Gxlcms > mysql > 常用的两种数据分区方法(以Teradata为例)

常用的两种数据分区方法(以Teradata为例)

时间:2021-07-01 10:21:17 帮助过:130人阅读

海量数据性能优化的一个基本的原则就是“分区”(也有叫“分片”的)。分区思想其实就是日常工作生活中的抽屉原理:我们把自己的物品按照某种逻辑归置到多个小抽

海量数据性能优化的一个基本的原则就是“分区”(也有叫“分片”的)。分区思想其实就是日常工作生活中的抽屉原理:我们把自己的物品按照某种逻辑归置到多个小抽屉中,一般会比混在一个大抽屉中好找;但是小抽屉太多了、或者逻辑混乱了,也可能效果适得其反。

Teradata的分区语法较为简洁,其中常用的是按时间分区,如下例只要添加到create table语句末尾就可以实现2013年全年一天一个分区了

更进一步,香港空间,其中如下面的语法元素:

  • my_field='A'

  • 可以修改为类似于这样的形式:

  • SUBSTR(my_field,1,1) IN ('E','F','G')

  • 在现实中,美国空间,因为访问数据从全表扫描变成了分区扫描的原因,香港服务器,某些步骤可以达成10-100倍的性能提升。对于复杂的耗时较长的大作业,也总是能够缩短一半以上的运行时间。非常有意思的现象是,即使是经验丰富的开发人员,对数据分区的掌握也不一定很好。数据分区理念是超越具体数据库的,无论是Teradata还是别的什么数据库,在我过去将近十年的职业生涯中,大多数性能问题都可以通过数据分区得以妥善解决。

    本文出自 “iData” 博客,请务必保留此出处

    人气教程排行