ORACLE插入数据慢

oracle10.2G建有A,B两张表,往A表插入数据会通过触发器向B也添加一个同样的数据,A表每天会清除一次数据,一开始使用没有什么问题,当B表数据到了100W(大概一... oracle 10.2G
建有A,B两张表,往A表插入数据会通过触发器向B也添加一个同样的数据,A表每天会清除一次数据,
一开始使用没有什么问题,当B表数据到了100W(大概一个月时间)左右.向A表插入数据时很慢,插入1000条数据差不多要20分钟,把触发器禁用了也一样慢,又在同一个用户下建了一个新表C,表结构,表空间和A表一样.加不加触发器都是和A表一样慢.
后来又一新建了一人新的用户,在用户下新建了一个表D,表结构,表空间和A表一样,也通过触发器向旧用户的表B添加一个同样的数据,这时插入表D的速度就很正常,而且表也能加到表B中.
所以问题应该是在用户上,但就是找不出原因,求高人指教.不胜感激.
A,C,D都没有索引
展开
 我来答
神装法师
推荐于2018-01-16 · TA获得超过790个赞
知道小有建树答主
回答量:154
采纳率:0%
帮助的人:321万
展开全部
要准确定位问题需要事实说话,光描述现象无法做到的。
我建议lz这么做:
1、在窗口一中执行select sid from v$mystat where rownum=1;
结果中的数字是当面session的标识(设为<sid>)。
2、在窗口一中执行插入操作,也就是你说1000条需要20分钟的那个操作。
3、马上新打开一个窗口,重复执行select event,wait_class from v$session where sid=<sid>;
这个查询会告诉你那个插入操作的session处于什么事件,事件类型是什么。如果你发现长时间处于某个事件,那么就说明时间花在这个事件上(设为事件A)。
4、搜索降低事件A耗时的方法
chn7576
2010-08-20 · TA获得超过1520个赞
知道小有建树答主
回答量:934
采纳率:0%
帮助的人:796万
展开全部
表空间自动扩展会让INSERT很慢。

另外就是 有索引的时候,频繁的更新后,索引有可能失效,最好重建索引。
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
chogo
2010-08-20 · 超过16用户采纳过TA的回答
知道答主
回答量:50
采纳率:0%
帮助的人:0
展开全部
对A表进行重建索引:
ALTER INDEX 表A的索引 REBUILD
已赞过 已踩过<
你对这个回答的评价是?
评论 收起
收起 1条折叠回答
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式