因高层突然变卦 要以存储过程来完成订单的拆分归档工作 所以虫子的同步工具先暂时搁置一段时间。

详细设计参考原理篇

更新一下测试结果 旧的测试结果放在下面 前一篇关于限制性开源的文章先删除 因为是企业在用项目 所以不开放性公布源码了 有需要交流的同学可以单独联系虫子


更新内容

  解决了一些bug,例如以前按一级表、二级表、三级表...的顺序删除,结果导致一级表删除后,二级表的数据读取错误。

  优化了过程安全,在3个阶段进行临时表和游标资源的check。降低预料外异常对程序的影响。

  改变删除的设计。

  总的来说不是从性能上更新,而是从业务角度保证数据的完整性


最新测试结果

 500条

查看原图 :http://pic002.cnblogs.com/images/2011/87114/2011121412594683.jpg

1000条

查看原图 :http://pic002.cnblogs.com/images/2011/87114/2011121413012846.jpg

3000条

查看原图 :http://pic002.cnblogs.com/images/2011/87114/2011121413020332.jpg

5000条

查看原图 :http://pic002.cnblogs.com/images/2011/87114/2011121413024434.jpg


旧的测试结果

先晒下性能 测试环境 总共33张表 数据量如下

归档表初始化

先看批次500条的性能

看看运行时间

2.342秒 !!!!!

看看我们插入了的数据是否准确

OK源表的数据是500 或许大家对这组数据不以为然 但是你要明白 在33张特大表中进行的操作 并且之间层级关联 各种安全 容错处理

再清除一下 试试5000条

70秒 有木有 有木有 比预想的性能要差一些 因为5000条所涵盖的事务太大

数据还是很完美

总的来说 这样的性能对于这样的应用场景 应该没有多少老大会不满意了


先简单阐述一下概要 详细查看 原理篇

源表:一般是指同步 归档等的主表 demo中以订单头表为例

一级表:以源表为关联表的数据表

二级表:以一级表为关联表的数据表

...

异常表:容错处理 用来存放异常数据 如果当期批次出错 则将本次批次源表关联键信息入库 下一批次则过滤这些数据再执行

减少IO的操作次数 用游标循环源表来关联一级表 二级表等 是很错误的方案

理清层级关系 源表过滤数据副本化 如果一级表关联的操作次数比较多那么可以模仿源表操作 以临时表取代物理表 如果表关联的操作次数不多可以直接生成数据过滤池

转载于:https://www.cnblogs.com/dubing/archive/2011/12/14/2287432.html

分享改进 高性能通用分表归档存储过程测试结果更新相关推荐

  1. 分享改进 高性能数据同步工具(一)

    题外:在博文索引中暂时列出了开源的计划一览,虫子开源的目的是希望能有更多的交流,部分软件可能小得连开源协议的认证价值都没有.不管程序有多小多简单,用心把一个完整的设计思路.实现过程以及测试结果展现给大 ...

  2. 通用多表分页存储过程

    CREATE PROCEDURE [dbo].[GetRecordByPage] ( @tblName nvarchar(400), ----要显示的表或多个表的连接 @fldName nvarcha ...

  3. mysql分表规则(转)

    author:skate time:2013/05/14 Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: ...

  4. Mycat 读写分离、主从切换、分库分表的操作记录

    Mycat 读写分离.主从切换.分库分表的操作记录 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等 ...

  5. Mycat读写分离、主从切换、分库分表的操作记录 https://www.cnblogs.com/kevingrace/p/9365840.html

    [此篇文章写得不错] 系统开发中,数据库是非常重要的一个点.除了程序的本身的优化,如:SQL语句优化.代码优化,数据库的处理本身优化也是非常重要的.主从.热备.分表分库等都是系统发展迟早会遇到的技术问 ...

  6. mysql分表准则_Mysql分表准则_MySQL

    bitsCN.com Mysql分表准则 Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: 业务类型:OLT ...

  7. mysql分表的原则_mysql分表规则(转)

    author:skate time:2013/05/14 Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: ...

  8. mysql分表的原则_Mysql分表准则

    Mysql分表准则 在大量使用mysql时,数据量大.高访问时,为了提高性能需要分表处理,简介下mysql分表的标准,后续会继续补充 环境: 业务类型:OLTP 硬件: cpu:8cpu 2.4GHZ ...

  9. Mycat 读写分离+分库分表

    上次进过GTID复制的学习记录,已经搭建好了主从复制的服务器,现在利用现有的主从复制环境,加上正在研究的Mycat,实现了主流分布式数据库的测试 Mycat就不用多介绍了,可以实现很多分布式数据库的功 ...

最新文章

  1. Lagrange equation
  2. c语言宏定义_掌握C语言,中文编程不是梦
  3. 作为开发人员,你都听产品经理的,做的累不累?
  4. Struts2从一个action转到另一个action的两种方法
  5. html ui 下拉列表,Atitit.ui控件-下拉菜单选择控件的实现select html_html/css_WEB-ITnose...
  6. Java学习日志(四)
  7. VC++如何根据进程名获取进程ID
  8. java生成excel中文乱码,JSP应用导出Excel报表的简单实现以及中文乱码彻底解决(HTML)...
  9. android textview设置大小,android – 如何缩放/调整文本大小以适应TextView?
  10. java zookeeper 使用_Zookeeper简介
  11. CC2530定时器唤醒
  12. python支持arcpy的版本_ArcPy开发IDE
  13. 2020.10期权合约产品研究报告 | TokenInsight
  14. 计算机管理员绩效指标,网络管理员绩效kpi考核标准..doc
  15. cas 6.2 Incompatible because this component declares an API of a component compatible with Java 11
  16. KALI-LINUX桥接模式下网络配置(学习笔记)
  17. Java语言基础知识(一)
  18. 肉牛养殖前景好,他尝到甜头带富了贫困户
  19. # 后端开发技巧、常用规范
  20. Linux下命令行打开word、excel、pdf文件

热门文章

  1. linux入门_Linux从入门到入土(抽奖送10本新书)
  2. C语言10进制写法,用c语言编写函数Htoi(s)把由16进制数成10进制的数
  3. UI设计师一定要懂的专业名词
  4. 前端开发的难点到底在什么地方?
  5. 计算机网络匿名性,匿名文件传输协议
  6. python监控网页内容变化_使用Python监控文件内容变化代码实例
  7. kubernetes权威指南_如何快速上手成为大厂标配的kubernetes?
  8. Buildroot根文件系统构建
  9. ImportError: No module named 'ConfigParser'和ImportError: No module named 'cPickle'
  10. Java实现redis管道