首頁 > 資料庫 > mysql教程 > 常用的两种数据分区方法(以Teradata为例)

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

WBOY
發布: 2016-06-07 17:41:49
原創
1488 人瀏覽過

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

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

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

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

  • my_field='A'

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

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

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

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

    相關標籤:
    來源:php.cn
    本網站聲明
    本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
    熱門教學
    更多>
    最新下載
    更多>
    網站特效
    網站源碼
    網站素材
    前端模板