`
suifeng
  • 浏览: 181457 次
  • 性别: Icon_minigender_1
  • 来自: 天津
社区版块
存档分类
最新评论

改进算法+改进策略 == 改进性能三位数

阅读更多

改进算法

原来采用A表与B表的差集进行新增同步, 考虑到有些表的新增时有个字段会在原来的基础上递增, 这样只需比较A表和B表那个字段的最大值, 就可以进行新增同步, 性能改进明显.

 

改进策略

数据量大的表都是有历史数据在里面, 就可以建立两个视图, 一个对应当日数据, 一个对于历史数据, 

这些数据有个特点, 历史数据不变, 当日数据不断变化.

 

为此在变更同步是, 只需要考虑当日数据, 不需要考虑历史数据, 这样大量减少比较的时间, 性能改进相当明显.

 

改进性能三位数

原来一张表在变更更新时,都> 600秒, 现在全部变更更新时, 只要4.281秒

 

newniu ETL 目前功能

零, 代码自动生成

1, 生成视图创建代码

2, ETL的SQL代码

 

一,处理功能

 

0, ETL.删除(ETL_IS_FOR_DELETE)

  删除目的表的最新数据, 不包括归档的历史数据

1, ETL.初始(ETL_IS_BY_INIT)

  初始化, 全部插入

2, ETL.同步.新增.增量(ETL_IS_BY_ADD_WITH_INCREASE)

  如果源表有新增的,并且新增的行有时间可以标识出来,如ID,时间戳, 然后按此字段进行把源表新增的同步到目的表

3, ETL.同步.新增.差集(ETL_IS_BY_ADD_WITH_DIFF)

  如果源表有新增的,但新增的行不能用时间标识出来, 就只能进行两笔对比, 找出差集, 然后新增

4, ETL.同步.变更.更新(ETL_IS_BY_CHANGE_FOR_UPDATE)

  如果源表有变更的, 采用每个字段对比的方式判断, 如果有一个字段变化,就整行更新

5, ETL.同步.变更.删除(ETL_IS_BY_CHANGE_FOR_DELETE)

  如果源表有变更的, 采用每个字段对比的方式判断, 如果有一个字段变化,就整行删除, 后面采用ETL.同步.新增.差集 插入此记录

6, ETL.同步.变更.归档(ETL_IS_BY_CHANGE_FOR_ARCHIVE)

  如果源表有变更的, 采用每个字段对比的方式判断, 如果有一个字段变化,就将此行归档, 即是将此ID记录的所有行年龄+1, 后面采用ETL.同步.新增.差集 插入此记录

 

二, 日志记录
记录ETL的内容



还需改进

异常处理, 虽然经过多次测试已经排除异常, 但是遇到特殊情况还是不好应付, 遇到最多的麻烦就是命名长度限制
字段名, 视图名, 表名等等.




 

2
2
分享到:
评论

相关推荐

    IEEE754 to DSP(VC33)(64位转40位) 改进版算法 (更正之前的低级错误)

    此外,对于可能出现的溢出或下溢,改进算法可能包含了额外的检查和处理步骤,如截断、饱和或使用异常处理机制。 文档中的"IEEE754 to DSP(VC33)(64位转40位) 改进版算法_2.doc"和"IEEE754 to DSP(VC33)(64位转40位)...

    传统KMP算法与改进KMP算法的对比

    2. **优化回溯策略**:有些改进算法会采用更智能的回溯策略,比如记录上次匹配成功的字符位置,以便在不匹配时更快地找到合适的起点。 3. **使用位运算**:利用位运算的高效性,可以加速部分匹配表的生成和比较过程...

    从最简单快速排序到各种改进的算法

    2. **三数取中法**:在分割过程中,选择序列的第一个、中间和最后一个元素,取它们的中位数作为枢轴,这样能更好地平衡分割结果。 3. **插入排序优化**:对于小规模或者近乎有序的数据,插入排序可能比快速排序更快...

    遗传算法三种编码策略的比较研究

    ### 遗传算法三种编码策略的比较研究 #### 一、引言 遗传算法(Genetic Algorithm, GA)是一种模仿自然选择和遗传机制的优化技术,在计算机科学领域有着广泛的应用。GA通过模拟生物进化过程中的自然选择、交叉和...

    基于改进bin算法的风电机组风速-功率数据清洗.docx

    #### 三、改进的dbin算法介绍 ##### 3.1 算法原理 - **目标**:改进的传统bin算法针对风速-功率数据的特点,设计了一种新的数据清洗方法,旨在更有效地识别和清洗异常数据。 - **核心思想**:将位于风速-功率曲线...

    《改进量子遗传算法及其应用》

    #### 三、改进的量子遗传算法 ##### 3.1 最优个体搜索与移民操作 在每次迭代中,首先搜索种群中所有染色体的最佳表现者,并组成一个新的种群。这个种群代表了当前种群中最优秀的个体集合。然后,利用这个种群作为...

    基于改进模糊聚类算法鲁棒的图像分割.pdf

    文章由张扬、王士同和韩斌三位作者撰写,发表在2008年5月的《中国图象图形学报》上,属于信息工程学院的研究成果。 ### 关键技术点 #### 1. 模糊C均值聚类(FCM)算法 模糊C均值聚类算法是一种广泛应用于图像分割...

    AES加密算法及S—box改进策略

    ### AES加密算法及S-box改进策略 #### 一、引言 随着信息技术的快速发展和互联网的广泛应用,数据安全成为了一个不容忽视的问题。密码学作为保障信息安全的重要手段,在现代经济社会中扮演着关键角色。AES...

    c语音做的冒泡算法改进

    冒泡排序是一种基础的排序算法,它通过重复...在这个过程中,我们可以学习到如何分析算法性能,理解和应用不同的优化策略,以及如何在C语言环境中实现这些优化。这种经验对于提升编程技能和理解算法设计原则至关重要。

    快速排序的基本算法和改进实现

    2. **三者取中**:在选择枢轴时,不是简单地选取第一个、最后一个或者中间元素,而是从三个元素(首、尾、中间)中选择一个中位数,这有助于减少最坏情况的发生,提高平均性能。 3. **处理重复关键字**:在数据集中...

    基于C语言排序的算法改进与应用.pdf

    本文主要介绍了三种常见的排序算法,并针对每种算法提出了改进策略。 首先,文章提到了排序算法的时间复杂度问题。对于任何排序算法,其效率往往取决于待排序数据的初始状态。例如,如果数据已经部分排序,某些算法...

    基于改进粒子群算法的不规则井网自动优化.pdf

    本文对这三个方面进行了改进,旨在提高算法在不规则井网优化问题上的性能。 首先,关于惯性权重的改进,通常是为了平衡算法的全局探索能力和局部搜索精度。在标准PSO中,惯性权重会随着迭代次数的增加而逐渐减小,...

    基于改进遗传算法的舰载机弹药调度

    #### 三、改进遗传算法的关键技术 针对传统遗传算法的局限性,研究人员提出了基于实值分段编码和精英保留策略的改进遗传算法。这些改进措施旨在增强算法的全局搜索能力和加速收敛速度,从而提高寻找最优解决方案的...

    八大排序算法总结

    count[i] += count[i - 1]; } for (int i = L.length - 1; i >= 0; i--) { output[count[(L[i] / exp) % 10] - 1] = L[i]; count[(L[i] / exp) % 10]--; } for (int i = 0; i ; i++) { L[i] = output[i]...

    Chord路由算法的改进

    ### Chord路由算法的改进 #### 一、引言 在点对点(P2P)系统中,资源定位是一项关键技术。高效的资源定位能够极大提升系统的整体性能和用户体验。Chord算法作为分布式哈希表(DHT)的一种实现,提供了一种有效的...

    8大排序算法

    **基本思想**:快速排序是一种高效的排序算法,采用分治策略来把一个序列分为较小和较大的两个子序列,然后递归地排序两个子序列。 **步骤**: 1. 选择一个“基准”元素(通常选择第一个或最后一个元素)。 2. 将...

Global site tag (gtag.js) - Google Analytics