楼主: fromeast

[精华] Insert 都做了什么?

[复制链接]
论坛徽章:
10
ITPUB元老
日期:2005-02-28 12:57:002010广州亚运会纪念徽章:保龄球
日期:2011-01-30 11:57:03祖国60周年纪念徽章
日期:2009-10-09 08:28:00参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
21#
 楼主| 发表于 2002-9-29 10:32 | 只看该作者

回版主

最初由 parrotao 发布
[B]1. 你的磁盘很慢吗?
2. 你的data_block buffer是多少
3. 有没有Checkpoint not complete [/B]


3. 批处理作业进行的3个小时内出现3次checkpoint not complete
2. data_block_buffers=385000    db_block_size=2048 (小了点:-)
1. sar的结果如下(批处理进行时):
     device %busy avque r+w/s blks/s w/s wblks/s avwait avserv
Average  dks0d1  1  1.4  0.6  5    0.6 5    4.3   10.0
     dks0d2  13 1.4  20.2  3344  1.4 939    7.3   6.4
     dks13d0 94 199.6  81.5 10941  40.0 6202  3057.3  11.5
     dks13d0l1 19 4.1  10.7 1686   2.8 685   140.5  17.8

不管数据库设置如何,磁盘多么慢,t_1表怎么就快呢?

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
22#
发表于 2002-9-29 11:09 | 只看该作者
select * from v$session_wait
where event = 'free buffer waits';
结果是什么

使用道具 举报

回复
论坛徽章:
10
ITPUB元老
日期:2005-02-28 12:57:002010广州亚运会纪念徽章:保龄球
日期:2011-01-30 11:57:03祖国60周年纪念徽章
日期:2009-10-09 08:28:00参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
23#
 楼主| 发表于 2002-9-29 13:07 | 只看该作者

请看一楼

最初由 parrotao 发布
[B]select * from v$session_wait
where event = 'free buffer waits';
结果是什么 [/B]

使用道具 举报

回复
论坛徽章:
3
ITPUB元老
日期:2005-02-28 12:57:00授权会员
日期:2005-10-30 17:05:33会员2006贡献徽章
日期:2006-04-17 13:46:34
24#
发表于 2002-9-29 13:57 | 只看该作者
我觉得你的问题在于
free buffer waits. 有许多
有一个隐含参数_db_block_write_batch
把他加大点试试

或者你的disk有竞争

使用道具 举报

回复
论坛徽章:
10
ITPUB元老
日期:2005-02-28 12:57:002010广州亚运会纪念徽章:保龄球
日期:2011-01-30 11:57:03祖国60周年纪念徽章
日期:2009-10-09 08:28:00参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
25#
 楼主| 发表于 2002-9-29 15:53 | 只看该作者
OK

使用道具 举报

回复
论坛徽章:
21
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:182012新春纪念徽章
日期:2012-02-13 15:11:18马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:18
26#
发表于 2002-9-30 10:58 | 只看该作者
看看你的约束把。或者有指向别的表的外键约束。
看看sql_trace里面是不是多一些别的语句?

使用道具 举报

回复
论坛徽章:
20
ITPUB元老
日期:2005-02-28 12:57:002012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:582012新春纪念徽章
日期:2012-02-13 15:10:58马上有车
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有对象
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:10:58
27#
发表于 2002-10-3 11:02 | 只看该作者
Have you set up your table with an initial space enough to contain new records, Oracle will use more time to allocate new extents if the table does not have enough space.  Are the T_1 and T_2 table have simular index structure ?  Index is another overhead to insert statement.

使用道具 举报

回复
论坛徽章:
24
会员2007贡献徽章
日期:2007-09-26 18:42:10马上有对象
日期:2014-02-19 11:55:14马上有钱
日期:2014-02-19 11:55:14马上有房
日期:2014-02-19 11:55:14马上有车
日期:2014-02-19 11:55:142012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:522012新春纪念徽章
日期:2012-02-13 15:11:52
28#
发表于 2002-10-3 11:24 | 只看该作者
最初由 richto 发布
[B]Have you set up your table with an initial space enough to contain new records, Oracle will use more time to allocate new extents if the table does not have enough space.  Are the T_1 and T_2 table have simular index structure ?  Index is another overhead to insert statement. [/B]


做测试时,我们曾经碰到过类似问题,后来把表的存储参数加大到2M.
速度慢的问题得到很大的改善.

使用道具 举报

回复
论坛徽章:
10
ITPUB元老
日期:2005-02-28 12:57:002010广州亚运会纪念徽章:保龄球
日期:2011-01-30 11:57:03祖国60周年纪念徽章
日期:2009-10-09 08:28:00参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
29#
 楼主| 发表于 2002-10-14 15:27 | 只看该作者
最初由 chao_ping 发布
[B]看看你的约束把。或者有指向别的表的外键约束。
看看sql_trace里面是不是多一些别的语句? [/B]


外键都相同。

SQL_TRACE里只有这个INSERT语句执行时间有异常:T1表的处理时间和T2表的处理时间相差很多。

使用道具 举报

回复
论坛徽章:
10
ITPUB元老
日期:2005-02-28 12:57:002010广州亚运会纪念徽章:保龄球
日期:2011-01-30 11:57:03祖国60周年纪念徽章
日期:2009-10-09 08:28:00参与2009年中国云计算大会纪念
日期:2009-06-05 10:02:28ITPUB北京2009年会纪念徽章
日期:2009-02-09 11:42:452009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:鼠
日期:2008-01-02 17:35:53会员2006贡献徽章
日期:2006-04-17 13:46:34授权会员
日期:2005-10-30 17:05:33ITPUB十周年纪念徽章
日期:2011-11-01 16:19:41
30#
 楼主| 发表于 2002-10-14 15:36 | 只看该作者
最初由 richto 发布
[B]Have you set up your table with an initial space enough to contain new records, Oracle will use more time to allocate new extents if the table does not have enough space.  Are the T_1 and T_2 table have simular index structure ?  Index is another overhead to insert statement. [/B]


Initial extent和next extent都是30M。

T1插入的数据量比T2的多,T1扩展的次数只能比T2多,但现在的现象是T2插入的速度比T1慢。

索引的结构完全相同。我还对索引做了分析,想看看是不是索引层数的影响,结果这方面也完全相同--都是4层。

使用道具 举报

回复

您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

TOP技术积分榜 社区积分榜 徽章 团队 统计 知识索引树 积分竞拍 文本模式 帮助
  ITPUB首页 | ITPUB论坛 | 数据库技术 | 企业信息化 | 开发技术 | 微软技术 | 软件工程与项目管理 | IBM技术园地 | 行业纵向讨论 | IT招聘 | IT文档
  ChinaUnix | ChinaUnix博客 | ChinaUnix论坛
CopyRight 1999-2011 itpub.net All Right Reserved. 北京盛拓优讯信息技术有限公司版权所有 联系我们 未成年人举报专区 
京ICP备16024965号-8  北京市公安局海淀分局网监中心备案编号:11010802021510 广播电视节目制作经营许可证:编号(京)字第1149号
  
快速回复 返回顶部 返回列表