zoukankan      html  css  js  c++  java
  • ORACLE TRUNCATE执行过慢

    问题描述:
    TRUNCATE TABLE VMSBUSI.VMS_MAILBOX_INFO; VMS_MAILBOX_INFO表中只有35条记录,TRUNCATE表要用1分钟左右。


    问题解决:
    这些索引基本上每个都是1G左右,且都是初始EXTENT的大小。显然导致问题的原因已经明确了,表包含了多个索引,且每个索引的初始段太大,因此TRUNCATE执行的时候对索引执行大量的db file sequence wait的操作,从而导致了TRUNCATE语句性能问题。

    网上链接:
    http://yangtingkun.itpub.net/post/468/501762

    现在在处理一批数据,小表还好,大表动辄上千万,删的时候确实太慢,经领导指导,总结以下几条经验。

    1,在每条语句后面添加commit;

    2,添加足够的redo日志组; alter database add logfile group 4 '路径/redo04.log' size 500M;

    3,删除数据时会遇到无法扩展undo表空间,为undo表空间添加足够的数据文件;

    4,删除无关的索引,保留与其他表有关联的和主键索引;

    5,经常查看后台session,避免死锁

    6,排查是否有触发器

  • 相关阅读:
    Java面试题
    大二上学期周总结
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上每日总结
    大二上学期周总结
    大二上每日总结
    大二上每日总结
  • 原文地址:https://www.cnblogs.com/JIKes/p/14228367.html
Copyright © 2011-2022 走看看