问题描述:
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,排查是否有触发器

相关文章:

  • 2022-12-23
  • 2021-11-04
  • 2022-12-23
  • 2021-09-10
  • 2022-12-23
  • 2022-12-23
  • 2021-12-11
  • 2022-12-23
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2021-12-05
  • 2021-05-26
  • 2021-06-30
  • 2021-05-06
  • 2021-09-13
相关资源
相似解决方案