楼主: fromeast

[精华] Insert 都做了什么?

[复制链接]
论坛徽章:
1
授权会员
日期:2006-01-23 15:45:13
31#
发表于 2005-12-18 10:43 | 只看该作者
后面呢?解决了吗?怎么就没有了^_^

使用道具 举报

回复
论坛徽章:
15
祖国60周年纪念徽章
日期:2009-10-09 08:28:002009架构师大会纪念徽章
日期:2010-01-18 13:43:21ITPUB十周年纪念徽章
日期:2011-11-01 16:20:28
32#
发表于 2005-12-18 14:37 | 只看该作者
这种东西 没有具体的环境
谁都不好说
除非把环境详细描述清楚
估计能详细描述环境
也能知道问题在那里了

使用道具 举报

回复
招聘 : 数据库管理员
论坛徽章:
1
授权会员
日期:2005-11-10 13:46:38
33#
发表于 2006-2-6 17:52 | 只看该作者
从这个语句, 我想到一个问题:
========== 语句 ==========
insert into t_2(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
values
(:b1,:b2,:b3,:b4,:b5,:b6,:b7,:b8,:b9,:b10,:b11,:b12)

就是, 对于分区表不应该用绑定变量, 这样Oracle不知道该用哪个分区. 看看执行计划就知道, 本来不同分区插入的执行计划应该是不一样的,

参考下面这段, from http://www.ixora.com.au/tips/design/partitioning.htm
Partition Elimination
Another benefit of range partitioning, is automatic partition elimination during the formulation of query execution plans. The optimizer compares the WHERE clause predicates with the partitioning range for each partition and eliminates from the execution plan those partitions which can be guaranteed not to contain rows satisfying the query. Of course, partition elimination normally relies on not using bind variables, so that the optimizer can determine which partitions can be eliminated. However, in the case of equality predicates on the partitioning key, the optimizer is content in the knowledge that at most one partition will be required.

使用道具 举报

回复
论坛徽章:
4
授权会员
日期:2006-02-05 10:41:13ITPUB元老
日期:2006-08-29 02:51:07生肖徽章2007版:鼠
日期:2008-01-02 17:35:532010新春纪念徽章
日期:2010-01-04 08:33:08
34#
发表于 2006-2-6 23:29 | 只看该作者
最初由 alexzeng 发布
[B]从这个语句, 我想到一个问题:
========== 语句 ==========
insert into t_2(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
values
(:b1,:b2,:b3,:b4,:b5,:b6,:b7,:b8,:b9,:b10,:b11,:b12)

就是, 对于分区表不应该用绑定变量, 这样Oracle不知道该用哪个分区. 看看执行计划就知道, 本来不同分区插入的执行计划应该是不一样的,

参考下面这段, from http://www.ixora.com.au/tips/design/partitioning.htm
Partition Elimination
Another benefit of range partitioning, is automatic partition elimination during the formulation of query execution plans. The optimizer compares the WHERE clause predicates with the partitioning range for each partition and eliminates from the execution plan those partitions which can be guaranteed not to contain rows satisfying the query. Of course, partition elimination normally relies on not using bind variables, so that the optimizer can determine which partitions can be eliminated. However, in the case of equality predicates on the partitioning key, the optimizer is content in the knowledge that at most one partition will be required. [/B]




这应该才是问题的所在。

使用道具 举报

回复
论坛徽章:
14
授权会员
日期:2005-10-30 17:05:332011新春纪念徽章
日期:2011-02-18 11:43:36生肖徽章2007版:牛
日期:2009-02-20 15:06:152009新春纪念徽章
日期:2009-01-04 14:52:28生肖徽章2007版:龙
日期:2008-12-25 11:27:31生肖徽章2007版:鼠
日期:2008-01-02 17:35:53生肖徽章2007版:鸡
日期:2008-01-02 17:35:53数据库板块每日发贴之星
日期:2006-05-24 01:01:36会员2006贡献徽章
日期:2006-04-17 13:46:34ITPUB 11周年纪念徽章
日期:2012-10-09 18:05:07
35#
发表于 2006-2-7 17:01 | 只看该作者

Re: 一点建议

最初由 biti_rainy 发布
[B]除去SYSTEM,一共24个回滚段。
其中有19个100M的,4个2M的,1个20M的

干吗要弄成大小差异这么大的回滚段?
请全部设置成大小一致,要么把不是100M的删除


tkprof分析的结果中,能否看出是哪一步消耗的时间多?
尝试把log  buffer设置小一点?
还有跟检查点相关的参数,也设置小一点? [/B]


所谓的 破桶效应

使用道具 举报

回复
论坛徽章:
64
会员2007贡献徽章
日期:2007-09-26 18:42:10NBA常规赛纪念章
日期:2008-04-18 19:48:16欧洲冠军杯纪念徽章
日期:2008-05-23 14:31:342009新春纪念徽章
日期:2009-01-04 14:52:28NBA常规赛纪念章
日期:2009-04-16 14:28:42NBA季后赛纪念徽章
日期:2009-06-16 11:28:172010新春纪念徽章
日期:2010-01-04 08:33:08
36#
发表于 2006-2-8 10:08 | 只看该作者
最初由 alexzeng 发布
[B]从这个语句, 我想到一个问题:
========== 语句 ==========
insert into t_2(a1,a2,a3,a4,a5,a6,a7,a8,a9,a10,a11,a12)
values
(:b1,:b2,:b3,:b4,:b5,:b6,:b7,:b8,:b9,:b10,:b11,:b12)
就是, 对于分区表不应该用绑定变量, 这样Oracle不知道该用哪个分区. 看看执行计划就知道, 本来不同分区插入的执行计划应该是不一样的,

参考下面这段, from http://www.ixora.com.au/tips/design/partitioning.htm
Partition Elimination
Another benefit of range partitioning, is automatic partition elimination .............................. [/B]


“Elimination”本意是“排除、消除”的意思,那“ partition elimination”是“消除分区”还是什么意思啊?

使用道具 举报

回复
论坛徽章:
64
会员2007贡献徽章
日期:2007-09-26 18:42:10NBA常规赛纪念章
日期:2008-04-18 19:48:16欧洲冠军杯纪念徽章
日期:2008-05-23 14:31:342009新春纪念徽章
日期:2009-01-04 14:52:28NBA常规赛纪念章
日期:2009-04-16 14:28:42NBA季后赛纪念徽章
日期:2009-06-16 11:28:172010新春纪念徽章
日期:2010-01-04 08:33:08
37#
发表于 2006-2-8 14:23 | 只看该作者
最初由 cjf107 发布
[B]

“Elimination”本意是“排除、消除”的意思,那“ partition elimination”是“消除分区”还是什么意思啊? [/B]


如果是,那“Of course, partition elimination normally relies on not using bind variables, so that the optimizer can determine which partitions can be eliminated.”只能说明删的时候不要用绑定变量。虽然我觉得插入时基于分区的字段上最好也不要使用绑定变量。

使用道具 举报

回复

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

本版积分规则 发表回复

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