文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Oracle删除数据非常慢的问题及解决

2023-02-15 11:30

关注

Oracle删除数据非常慢

记一次数据库删除数据非常慢的处理流程

问题描述

单表数据3000条左右,根据主键删除需要509秒

处理流程

一. 首先查看SQL的执行计划:执行计划正常,cost只有1,用到了主键索引。

二. 查看等待事件:

SELECT s.sid, s.serial# FROM v$locked_object lo, dba_objects ao, v$session s WHERE ao.object_id = lo.object_id AND lo.session_id = s.sid;

先执行目标sql,在执行上面的sql获得sid

select * from v$session_wait where sid = (上面sql查询的sid)

显示的event是db file sequential read,也没有异常。

三. 测试其他其他表和系统io是否有问题,没问题则进行下一步

四. 追踪sql日志:

alter session set events='10046 trace name context forever,level 12';

delete from t_table1 where id = xxx(这里是目标sql)

alter session set events='10046 trace name context off';

若不知道日志文件存放位置执行以下sql会返回路径

SELECT VALUE  FROM V$PARAMETER WHERE NAME = 'user_dump_dest' 

找到最新的trace文件

执行—>tkprof orcl_ora_3708.trc myoutput.txt将trc文件转换为简单明了的txt文件

查看执行删除过程中有哪个操作时间过长

Oracle删除数据非常慢的问题及解决

我发现的问题是在实行删除的过程中这个表有外键关联主表,会先查一遍这个表里有没有那个设备的记录,elapsed表示耗时

解决办法,外键加索引,或者取消外键代码里维护外键。

Oracle删除表中大量数据卡顿的解决

首先,不要被标题误导,分两种情况。

正确姿势

oracle数据表有过万条数据后,删除数据就变的特别慢,有时甚至会卡死,所以在此分享一个小白操作,望对各位有帮助。

删除前: 从原表创建新表,即:先把需要的某些数据导入到新表里,或者不加条件即要删除原表的所有数据,从原表创建临时表(新表)。(相当于原模原样拷贝一份原表)

create table tempTable as select id,name from table1 where sj>to_date('2013-7-31 23:59:59','yyyy-mm-dd hh24:mi:ss');

接着直接 drop 删除原表,把新表名称改为原表名称。到此结束,这样直接跳过删除原表因数据多造成卡死的现象节省时间。

总结

以上为个人经验,希望能给大家一个参考,也希望大家多多支持我们。

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     807人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     351人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     314人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     433人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     221人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-数据库
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯