Oracle千万级记录插入和查询技巧总结

Oracle***记录进行处理并不简单,下面就为您总结了Oracle***记录插入和查询的技巧,希望对您能够有所启迪。

创新互联公司从2013年创立,先为英吉沙等服务建站,英吉沙等地企业,进行企业商务咨询服务。为英吉沙企业网站制作PC+手机+微官网三网同步一站式服务解决您的所有建站问题。

最近做了个项目,实现对存在Oracle***记录的库表执行插入、查询操作。原以为对数据库的插入、查询是件很容易的事,可不知当数据达到百万甚至千万条级别的时候,这一切似乎变得相当困难。几经折腾,总算完成了任务。

1、防止运用 Hibernate框架

Hibernate用起来虽然方便,但对于海量数据的操作显得力不从心。

关于Oracle***记录插入:

试过用Hibernate一次性执行 5万条左右数据的插入,若ID运用 sequence方式生成,Hibernate将分5万次从数据库取得5万个sequence,构造成相应对象后,再分五万次将数据保存到数据库。花了我十分钟时间。主要的时间不是花在插入上,而是花在5万次从数据库取sequence上,弄得我相当郁闷。虽然后来把ID生成方式改成increase处理了疑问,但还是对那十分钟的等待心有余悸。

关于Oracle***记录查询:

Hibernate对数据库查询的主要思想还是面向对象的,这将使许多我们不须要查询的数据占用了大量的系统资源(包括数据库资源和本地资源)。由于对Hibernate的偏爱,本着不抛弃、不放弃的作风,做了包括配SQL,改良 SQL等等的相当多的尝试,可都以失败告终,不得不忍痛割爱了。

2、写查询语句时,要把查询的字段一一列出

查询时不要运用类似select * from x_table的语句,要尽量运用 select id,name from x_table,以防止查询出不须要的数据浪费资源。对于海量数据而言,一个字段所占用的资源和查询时间是相当可观的。

3、减少不必要的查询条件

当我们在做查询时,常常是前台提交一个查询表单到后台,后台分析这个表单,而后执行查询操作。在我们分析表单时,为了方便起见,常常喜欢将一些不须要查询的条件用永真的条件来代替(如:select count(id) from x_table where name like ‘%’),其实这样的SQL对资源的浪费是相当可怕的。

我试过对于同样的近一千万条记录的查询来说,运用 select count(id) from x_table 执行 表查询须要 11秒,而运用 select count(id) from x_table where name like ‘%’却花了33秒。
 

【编辑推荐】

查询记录时给oracle记录加锁

带您了解Oracle恢复结构

详解Oracle物理结构

深入了解Oracle表空间

Oracle启动模式的三个阶段

当前题目:Oracle千万级记录插入和查询技巧总结
文章地址:http://www.shufengxianlan.com/qtweb/news49/514699.html

网站建设、网络推广公司-创新互联,是专注品牌与效果的网站制作,网络营销seo公司;服务项目有等

广告

声明:本网站发布的内容(图片、视频和文字)以用户投稿、用户转载内容为主,如果涉及侵权请尽快告知,我们将会在第一时间删除。文章观点不代表本网站立场,如需处理请联系客服。电话:028-86922220;邮箱:631063699@qq.com。内容未经允许不得转载,或转载时需注明来源: 创新互联