
正文
oracle插入数据效率,oracle 数据加载
提示:扫一扫查出行【扫一扫了解最新限行尾号】
复制提示
在oracle怎样同时插入1000000条数据,效率要快
1、如果是数据导入,可以使用自导自带的导入工具imp 注意,根据你机器的性能,要调整commit的条数,就是多少条记录commit一次。这个数据对速度影响很大,插入之前最好能做个测试。希望对你有所帮助。
2、首先,在数据库中要创建跟字段对应的表,并设置字段长度足够大。根据创建的表名,及文本的格式编写脚本。
3、在确定你的.sql文件没有错误的情况下,在pl/sql命令行模式下使用:@d:\xx.sql 就可以直接执行。其中路径名称与文件名视你的情况而定(不带)。
相关问答
Q1: 如何提高Oracle数据库的插入速度
补救的方法是增加更多的内存,减少 Oracle SGA 的大小,或者关闭 Oracle 的多线程服务器。可以使用各种标准的服务器工具来得到服务器的统计数据,例如 vmstat,glance,top 和 sar 。
一般来说,减少索引和约束(比如如果是唯一索引insert时会进行验证,check也会验证),能提高一部分insert效率。append参数也有一定的作用。(与高水位标记线有关)对于数据量很大的insert,进行分批,也有一定的作用。
内存的调整主要是指调整组成SGA的内存结构的大小来提高系统性能,由于Oracle数据库服务器的内存结构需求与应用密切相关,所以内存结构的调整应在磁盘I/O调整之前进行。
数组操作允许导入程序读取外部文件数据并解析后,向数据库提交SQL语句,批量插入 SQL 语句检索出的数据。Oracle 仅需要执行一次 SQL 语句,然后在内存中批量解析提供的数据。
Q2: oracle往表中插入数据的速度跟哪些因素有关.
1、跟索引关系不大 看看你这个表有没有外键吧 我之前的项目里就出现过这个情况,一个记录INSERT很慢,后来定位是外键的问题,把 FK去掉之后,速度可是瞬间完成。
2、在窗口一中执行select sid from v$mystat where rownum=1;结果中的数字是当面session的标识(设为sid)。在窗口一中执行插入操作,也就是你说1000条需要20分钟的那个操作。
3、对于数据量很大的insert,进行分批,也有一定的作用。(减少内存征用的等待时间)表分区也有一些作用。
4、—database buffer cache这个缓存区。而插入也是写入这个缓存区,只有等待DBWR线程写入,才会写入硬盘数据文件。这个会影响插入的性能,不过不是关键(它不是每一条插入都会写入硬盘)。以上为我个人理解,如有误区请指正。
oracle插入数据效率的介绍就聊到这里吧,感谢你花时间阅读本站内容,更多关于oracle 数据加载、oracle插入数据效率的信息别忘了在本站进行查找喔。






