知识大全 ORACLE大数据表Update处理

Posted 办法

篇首语:弓背霞明剑照霜,秋风走马出咸阳。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 ORACLE大数据表Update处理相关的知识,希望对你有一定的参考价值。

ORACLE大数据表Update处理  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

  ORACLE中如果表数据量很大(M级或更大) update某个字段是很慢的(如我的HIS项目中更新历史业务流程表 万条记录 用CURSOR来更新 条MIT一次 花了 天也没更新完) 后来尝试过的改进办法有

   把表上的LOGGING取消

   把表上的INDEX取消

  但是依然很慢 无奈下找到这个

  

  在这个主题问答里 ORA官方提了一种处理的办法

   利用CREATE table as select xxxxx的办法来生成一新表T

   在T 上创建与目标表一样的索引

   把目标表删除或RENAME(注意备份以备反悔)

   把T 改名成目标表

  试了一下 果然非常地快 我的任务差不多在 Min就完成了

  如csywdk table_room是一张大表 要删除其中bakfwid在noNewYWFW 中的记录 且要更新bakfwid在imp_table_room中记录的ROOM_LOC为imp_table_room room_loc:

  ( )创建新表

  create table tmp_new_table_room as

  select t ROOM_ID t NEWROOMID t BUILDID t TFH t DKH t BUILD_NO t LAYER_NO t ROOM_NO t ROOM_NAME

  decode(t bakfwid null t ROOM_LOC t room_loc)

  t ROOM_AREA

  t SURTYPE t LAYER_NAME t DEVDEP t CELL t DELFLAG t QXXZ t SJSJLSH t FD t ID t BAKFWID

  from csywdk table_room t left join imp_table_room t on t bakfwid=t bakfwid

  where not exists(select from noNewYWFW t where t bakfwid=t bakfwid)

  ( )创建备份表

  create table Table_room as

  select * from csywdk table_room

  ( )替换原表

  drop table sde table_room

  create table sde table_room as

  select * from tmp_new_table_room

  在这个问答里还提到一句ORA PL/SQL效率相关的话

   能用一句语句处理的任务决不要用多句编程来实现

cha138/Article/program/Oracle/201311/18980

相关参考

知识大全 oracle 中 UPDATE nowait 的使用方法

oracle中UPDATEnowait的使用方法  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  

知识大全 更新数据-UPDATE语句(1)

SQL实战新手入门:更新数据-UPDATE语句(1)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 更新数据-UPDATE语句(2)

SQL实战新手入门:更新数据-UPDATE语句(2)  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!

知识大全 关于oracle中大对象处理的一些方法和实例

  在oracle中有个大对象(lobs)类型可用分别是blobclobbfilenclob  下面是对lob数据类型的简单介绍  lblob:二进制lob为二进制数据最长可达GB存贮在数据库中  l

知识大全 Oracle大数据量查询实际分析

Oracle大数据量查询实际分析  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  Oracle大数

知识大全 sql update 语法与实例

  sqlupdate语法与实例  在日常使用的数据库教程是一个不断变化的数据存储在SQL是用于修改数据已经在数据库中的更新和删除mandsThe更新语句可以更新表格中的一个或多个记录命令  UPDA

知识大全 ORACLE大数据类型的操作之一CLOB

ORACLE大数据类型的操作之一CLOB  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  大家在应

知识大全 超级复杂困难之Oracle数据库大恢复

超级复杂困难之Oracle数据库大恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  昨天一个朋

知识大全 一次误操作引起的Oracle数据库大恢复

一次误操作引起的Oracle数据库大恢复  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  事情起由

知识大全 Oracle数据库处理多媒体信息

Oracle数据库处理多媒体信息  以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!  引文    长期