互联网服务 数据库

DMS表空间数据插入效率

DB2 DMS表空间。操作:
我做数据插入。第一次表刚建立完成,数据为空,插入,1g数据,需要20min。


但是truncate后,第二次插入,1g数据只需要8min,同样的表。




还请各位专家能够帮忙分析下?需要提供啥就和我说

补充我的测试结果和现象:


   假如首次先插入1g的数据,那么是1g 20min。重复插入则1g 8min

   假如先插入1g的数据,再插入512M,那么512m的数据,是10min

   假如先插入1g的数据,然后删掉该表,那么再插入512M的数据,是5min

那么表明:是否有可能是DMS向系统申请空间导致的资源消耗?请大家一起讨论下

附件:

附件图标 insert_over_500.res (606.66 KB)

附件图标 insert_iner_500.res (606.66 KB)

参与42

41 同行回答

xxzmxx xxzmxx 软件开发工程师 招行软件中心
回复 10# drdb2    在哪里做了data cacheing啊。db2的话,我重启数据库,速度还是一样啊。显示全部
回复 10# drdb2


   在哪里做了data cacheing啊。db2的话,我重启数据库,速度还是一样啊。 收起
互联网服务 · 2011-11-28
浏览292
drdb2 drdb2 系统工程师 se
回复 5# xxzmxx 这就说明是data cachingyour source data have been cached after first run显示全部
回复 5# xxzmxx

这就说明是data caching
your source data have been cached after first run 收起
互联网服务 · 2011-11-28
浏览327
weiruan85 weiruan85 数据库管理员 ibm
INSERT 处理过程概述首先让我们快速地看看插入一行时的处理步骤。这些步骤中的每一步都有优化的潜力,对此我们在后面会一一讨论。   1. 在客户机准备 语句。对于动态 SQL,在语句执行前就要做这一步,此处的性能是很重要的;对于静态 SQL,这一步的性能实际上关系不大,因...显示全部
INSERT 处理过程概述

首先让我们快速地看看插入一行时的处理步骤。这些步骤中的每一步都有优化的潜力,对此我们在后面会一一讨论。

   1. 在客户机准备 语句。对于动态 SQL,在语句执行前就要做这一步,此处的性能是很重要的;对于静态 SQL,这一步的性能实际上关系不大,因为语句的准备是事先完成的。
   2. 在客户机,将要插入的行的各个 列值组装起来,发送到 DB2 服务器。
   3. DB2 服务器确定将这一行插入到哪一页中。
   4. DB2 在 用于该页的缓冲池中预留一个位置。如果 DB2 选定的是一个已有的页,那么就需要读磁盘;如果使用一个新页,则要在表空间(如果是 SMS,也就是系统管理存储的表空间)中为该页物理地分配空间。插入了新行的每一页最后都要从缓冲池写入到磁盘。
   5. 在目标页中对该行进行格式化,并获得该行上的一个 X(exclusive,独占的) 行锁。
   6. 将反映该 insert 的一条 记录写入到日志缓冲区中。
   7. 最后 提交包含该 insert 的事务,如果这时日志缓冲区中的记录还没有被写入日志文件的话,则将这些记录写到日志文件中。


这个是insert的操作过程,估计第四步的原因 收起
政府机关 · 2011-11-28
浏览344
xxzmxx xxzmxx 软件开发工程师 招行软件中心
回复 3# wp28556259    可能和表空间没关系啊?我重复做多次,都是和第二次结果意义,保持在8min左右。   只有第一次最慢,并且是2倍左右的差距:funk:显示全部
回复 3# wp28556259


   可能和表空间没关系啊?我重复做多次,都是和第二次结果意义,保持在8min左右。
   只有第一次最慢,并且是2倍左右的差距:funk: 收起
互联网服务 · 2011-11-28
浏览342
xxzmxx xxzmxx 软件开发工程师 招行软件中心
不过V9.5好像没有truncate操作啊。不知道kettle(etl工具)是如何实现truncate的,速度很快。显示全部
不过V9.5好像没有truncate操作啊。

不知道kettle(etl工具)是如何实现truncate的,速度很快。 收起
互联网服务 · 2011-11-28
浏览318
xxzmxx xxzmxx 软件开发工程师 招行软件中心
回复 3# wp28556259    我的表空间不是自动Reize的啊 并且时NO FILE SYSTEM CACHING显示全部
回复 3# wp28556259


   我的表空间不是自动Reize的啊
并且时NO FILE SYSTEM CACHING 收起
互联网服务 · 2011-11-28
浏览315
xxzmxx xxzmxx 软件开发工程师 招行软件中心
回复 4# drdb2    第三次的结果和第二次一样啊。在8min左右显示全部
回复 4# drdb2


   第三次的结果和第二次一样啊。在8min左右 收起
互联网服务 · 2011-11-28
浏览326
drdb2 drdb2 系统工程师 se
I tend to think something to do with data caching.what about 第三次?显示全部
I tend to think something to do with data caching.

what about 第三次? 收起
互联网服务 · 2011-11-28
浏览352
wp28556259 wp28556259 软件架构设计师 CMBC
表空间是AUTORESIZE吗?你TRUNCATE后,ALTER  TBSPACE REDUCE MAX,然后再插入,看看速度是不是和第一次建表后插入时间一样。会不会是在数据库向操作系统申请空间的时候花费了时间显示全部
表空间是AUTORESIZE吗?你TRUNCATE后,ALTER  TBSPACE REDUCE MAX,然后再插入,看看速度是不是和第一次建表后插入时间一样。会不会是在数据库向操作系统申请空间的时候花费了时间 收起
银行 · 2011-11-28
浏览323
xxzmxx xxzmxx 软件开发工程师 招行软件中心
本次操作的背景,是ETL的一个过程,从源表抽取数据到目标表第一次很慢,而第二次做同样操作就非常快。数据库重启之类的我都试过,结果一样。排除数据库端和应用端缓存显示全部
本次操作的背景,是ETL的一个过程,从源表抽取数据到目标表

第一次很慢,而第二次做同样操作就非常快。

数据库重启之类的我都试过,结果一样。排除数据库端和应用端缓存 收起
互联网服务 · 2011-11-28
浏览333

提问者

xxzmxx
软件开发工程师 招行软件中心
评论315

相关问题

相关资料

相关文章

问题状态

  • 发布时间:2011-11-28
  • 关注会员:1 人
  • 问题浏览:23933
  • 最近回答:2011-12-01
  • X社区推广