当前位置:七道奇文章资讯数据防范Oracle防范
日期:2011-01-25 22:55:00  来源:本站整理

Oracle千万条记录插入与查询小结-开辟技术[Oracle防范]

赞助商链接



  本文“Oracle千万条记录插入与查询小结-开辟技术[Oracle防范]”是由七道奇为您精心收集,来源于网络转载,文章版权归文章作者所有,本站不对其观点以及内容做任何评价,请读者自行判断,以下是其具体内容:

    近来做了个项目,实现对存在千万条记录的库表举行插入、查询操作.原认为对数据库的插入、查询是件很简单的事,可不知当数据到达百万乃至千万条级别的时刻,这一切仿佛变得相当艰难.几经折腾,总算完成了任务.

    1、 避免利用Hibernate框架

    Hibernate用起来固然便利,但关于海量数据的操作显得力不从心.

    关于插入:

    试过用Hibernate一次性举行5万条左右数据的插入,若ID利用sequence方法生成,Hibernate将分5万次从数据库获得5万个sequence,构造成呼应对象后,再分五万次将数据保存到数据库.花了我非常钟时间.主要的时间不是花在插入上,而是花在5万次从数据库取sequence上,弄得我相当忧郁.固然后来把ID生成方法改成increase办理了问题,但还是对那非常钟的等候心有余悸.

    关于查询:

    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秒.

    4、 避免在查询时利用表衔接

    在做海量数据查询时,应尽大概避免表衔接(分外是左、右衔接),万不得已要举行表衔接时,被衔接的另一张表数据量一定不能太大,若衔接的另一张表也是数万条的话,那预计可以考虑重新计划库表了,因为那需求等候的时间决不是正常用户所能忍耐的.

    5、 嵌套查询时,尽大概地在第一次select就把查询范围缩到最小

    在有多个select嵌套查询的时刻,应尽大概在最内层就把所要查询的范围缩到最小,能分页的先分页.很多时刻,就是这样简单地把分页放到内层查询里,对查询效率来说能形成质的改变.

    就是这些了,但愿对碰到近似问题的朋友们能有所帮忙!   以上是“Oracle千万条记录插入与查询小结-开辟技术[Oracle防范]”的内容,如果你对以上该文章内容感兴趣,你可以看看七道奇为您推荐以下文章:

  • SQL Server中利用Linkserver衔接Oracle的办法
  • Oracle数据库网络与安全FAQ精辟堆积
  • Ubuntu 9.10下安装Oracle10g
  • Ubuntu 10.04 下安装Oracle 11g
  • oracle盲注报错语句和oracle提权语句汇总
  • oracle中to_char、to_number、to_date的用法
  • Python模拟Oracle的SQL/PLUS工具的实现办法
  • Oracle数据库访谈之最年青的OCM访谈
  • oracle表数据误删复原
  • Oracle数据库笔记--表空间
  • Oracle数据库树形查询的代码示例
  • oracle中记录和调集
  • 本文地址: 与您的QQ/BBS好友分享!
    • 好的评价 如果您觉得此文章好,就请您
        0%(0)
    • 差的评价 如果您觉得此文章差,就请您
        0%(0)

    文章评论评论内容只代表网友观点,与本站立场无关!

       评论摘要(共 0 条,得分 0 分,平均 0 分) 查看完整评论
    Copyright © 2020-2022 www.xiamiku.com. All Rights Reserved .