数据割接效率提升常用套路

1:归档与非归档

在割接前将数据改为非归档模式,在割接后再改回来。同时做全备。

改为非归档模式会大大减少写日志的开销。

2:主外键、索引

在割接前,需要先失效主外键/索引或者直接drop掉。

割接后再恢复,回复索引,大一点的表并行建立,再取消并行。

3:空间换时间

A:数据量太大时,应该分模处理。

B:频繁关联的表,应该建成中间表。

C:中间表太大时,应该进行拆分。

D:中间表建好后,进行表分析。

4:nologging与append

Insert /*+ append */ into table nologging select * from tableb where mod(serv_id,10)=1;

A:不管哪种模式下append要与nologging方式联用才能达到很好的效果。

B: 非归档与归档方式,只用NOLOGGING是不起效果的。

C: 非归档下append已达到不错的效果,但不及与nologging的联用方式。

D: 归档下单append起不到效果。

E:对于11.2以下版本
append 只对insert into table select *
from table 有用。

F:使用append在未提交时会锁表(类似for update)。所以维护时append基本都是禁用的。除非能保证数据没人在用!

G:不要一条一条commit
!会把数据库撑很大很大!

5
并行

并行并不是越大越好,在并行开大时,容易造成并行锁,并影响割接效率。实际并行数量不应该超过数据库服务的CPU核数。

批量割接同时割接多个模和多个表时,完全可以不用并行。

6:seqs 不能不加cache,而且cache要大一点,割接完之后注意改回来。

7:游标与直接insert

大数据量操作,应该尽量避免:Insert into A select * from B 这种方式,因为容易引发undo空间不足,并且无法评估效率,也无法控制进度。
不如直接用游标。

8:游标效率

显示游标:

cursor
cur_2 is select a.cust_name from ea_cust.cust_info a;

隐式游标

cur_2 in (select
c.cust_name from ea_cust.cust_info c)

bulk方式

fetch cur_test bulk collect into
wxk_test_data limit 100;

Bulk方式与隐式游标效率相当(略大于隐式游标)。

而隐式游标效率明显大于显式游标。

9:绑定变量

当SQL为动态SQL时,存储过程也会存在绑定变量问题。

当使用动态SQL时,类似如下语句是不合适的:

Sql
= ‘insert into xx values (‘||v_id1||’)’

但是insert into xx values (v_id1)这种SQL是合适的,数据库自动会绑定变量。

10:当数据库为rac时,如果分模去insert表,不应该使用tns连接或者使用scanip连接,应该使用固定的IP地址连接,避免造成rac的资源竞争。

11:在后台用shell拉起长时间运行的存储过程,或者用job。而不是直接使用plsql运行。

原文地址:https://www.cnblogs.com/smokefire/p/9392344.html

时间: 2024-10-25 13:22:40

数据割接效率提升常用套路的相关文章

让Excel飞!职场Office效率提升秘籍(第2版)——互动出版网

这篇是计算机类的优质推荐>>>><让Excel飞!职场Office效率提升秘籍(第2版)> 编辑推荐 本书适合具有初步的Excel基础,正在迷茫于如何进一步提高自己的Excel管理应用水平以及那些淹没于茫茫的Excel孤立技巧之中,苦于未能掌握Excel精髓,不能举一反三,未能达到Excel自由应用状态的朋友们. 内容简介 这是一本关于如何有效利用Excel 和Access 提高作效率的书.书中凝聚了作者多年来关于如何利用Excel 和Access 提升个人生产力的独特

处理百万级以上的数据查询提高效率的办法

1.应尽量避免在 where 子句中使用!=或<>操作符,否则将引擎放弃使用索引而进行全表扫描. 2.对查询进行优化,应尽量避免全表扫描,首先应考虑在 where 及 order by 涉及的列上建立索引. 3.应尽量避免在 where 子句中对字段进行 null 值判断,否则将导致引擎放弃使用索引而进行全表扫描,如: select id from t where num is null 可以在num上设置默认值0,确保表中num列没有null值,然后这样查询: select id from

围绕效率提升,测试可以做什么?

大部分的研发经理心中,进度是第一位的,其次是成本,最后是质量,当然人员队伍最好稳定.天下武功,唯快不破:进度 > 成本 > 质量 > 人. 围绕效率提升,测试可以做什么?你脑海里跳出来的,应该是"自动化"或者"敏捷"吧,没错,自动化和敏捷都可以帮助提升研发效率,但是并不是只要做了都有这个作用. 下面来看看测试支持效率提升的不同段位. 一段:提升测试效率. 提升测试的效率,最有效的手段是制定测试策略.对,你没有看错,是测试策略而不是自动化! 测试策略

黑科技揭秘:如何通过阿里云超算,使得汽车仿真效率提升25%

摘要: 在汽车行业,过去有一句俗话,一辆车从设计到下线,"至少要11辆真实碰撞试验",今天,在现代化的汽车制造业,通过长期发展的设计和仿真软件,几乎所有的环节,都可以做到设计与仿真一体化的高性能计算实现,这一进步的背后需要依赖更强的并行计算集群和灵活的数据流动,以及实现复杂算法的工业仿真软件. 在汽车行业,过去有一句俗话,一辆车从设计到下线,"至少要11辆真实碰撞试验",今天,在现代化的汽车制造业,通过长期发展的设计和仿真软件,几乎所有的环节,都可以做到设计与仿真一

关于代码效率提升的方法心路历程(购物车)

关于代码效率提升的方法心路历程(购物车) 给为园友们,大家好,最近一直解决执行提速,分析老代码的逻辑并提出优化方案,在这个过程中发现了很多不好的习惯,导致很多程序逻辑执行效率低下,现在将其总结一下,如果大家觉得有参考意义,就看一下,如果觉得有问题,多多指点,如果觉得写的不好,也勿喷,谢谢! 案例分析: 关于购物车效率的提升,在优化前,购物车需要3-5分钟才能够查询出来数据,并且购物所有商品全部刷新重新渲染.这个购物车计算价格的代码还是一个工作20年左右的前辈写的,并且找了很久的优化方案(只局限在

十条jQuery代码片段助力Web开发效率提升

JQuery是继prototype之后又一个优秀的Javascript库.它是轻量级的js库 ,它兼容CSS3,还兼容各种浏览器(IE 6.0+, FF 1.5+, Safari 2.0+, Opera 9.0+),jQuery2.0及后续版本将不再支持IE6/7/8浏览器.jQuery使用户能更方便地处理HTML(标准通用标记语言下的一个应用).events.实现动画效果,并且方便地为网站提供AJAX交互.jQuery还有一个比较大的优势是,它的文档说明很全,而且各种应用也说得很详细,同时还有

Android studio Debug效率提升

Android studio Debug效率提升,可以在控制台打印log的同时而不暂停程序的运行,尤其是当遇到复杂交互的时候,比如滑动,拖动,这时候程序暂停执行是特别恶心的.其实你可以更新打印信息而不需要重新编译或者部署. Suspend,找到打得断点,然后右键就会出现下面界面 (or ?+?/Ctrl+F8) ,把Suspend选项的勾选去掉即可.飞一般的Debug吧.......

[效率提升]如何管理好你的电脑文件

[效率提升]如何管理好你的电脑文件 ? 试想一下,在你这么多年的生活与工作中,你究竟保存有多少电子文档.当你需要在海洋一般的文档库中打开去年六月份召开某个技术会议时的编制方案与会议纪要时,你会是一种什么样的感觉:不知道何处入手的迷茫?遍寻不着的焦虑?还是满满的从容与自信? 记得自己以前听领导曾说过一句话:"管理,管理,一边管一边理",给我留下很深刻的印象.试想,如何连自己管理的对象都梳理不清楚,又如何能做到全面而有效的管理,而"一屋不扫何以扫天下",如果连自己可以完

PPT难做?花太长时间?收藏这4个网站,省时省力效率提升不止一倍

很多人在进入职场后,通常第一个要做的是制作一份简洁有逻辑的PPT.所以如果在职场办公过程中不会使用PPT软件真的太吃亏了.很多人都常说PPT难做,花了很长时间.其实,是因为你不知道可以高效做到,只需收藏这个4个网站! 一.PA口袋动画 PA口袋动画,是一款独立开发的PowerPoint动画编辑工具,主要用于在制作PPT的过程中添加相应的PPT动画效果,让PPT变得更加有感染力,绝对是职场PPT制作.展会PPT必备. 二.PPT美化大师 PPT美化大师,提供大量一键更换排版.一键更背景,对PPT个