WEB开发网
开发学院数据库Oracle 提高Oracle的Insert、Update等操作速度 阅读

提高Oracle的Insert、Update等操作速度

 2009-06-08 13:15:53 来源:WEB开发网   
核心提示:在Oracle数据库中,Insert、Update、Delete三个操作是对数据库中的数据进行插入、更新以及删除,提高Oracle的Insert、Update等操作速度,在进行这些操作时,如果数据库中的记录比较多时,所以在进行大规模的更新、删除、插入记录等操作时,笔者往往建议大家加上这个可选项,则所需要的时间比较长,如

在Oracle数据库中,Insert、Update、Delete三个操作是对数据库中的数据进行插入、更新以及删除。在进行这些操作时,如果数据库中的记录比较多时,则所需要的时间比较长。如需要利用一个Update语句更新大量记录时,即使更新的内容很简单,如只是将价格提升10%,但是仍然需要花费比较成的时间。所以从某种程度上来说,进行这些操作时其执行速度跟内容的大小关系不大,反而跟记录的多少却有很大的关系。那么在Oracle数据库中,能否采取一些措施来提高这些操作的速度呢?为此笔者有如下两个建议,希望对大家有所帮助。

建议一:在执行这些操作时不向重做日志中写东西。

在执行更新、插入、删除操作时,默认情况下,其在更新数据的同时,也会像重做日志文件中记录这些改变。如利用Update语句将数据库中产品的价格提高10%时。数据库会更改这些价格,同时也会在重做日志中记录这些改变。显然,更新一个数据,数据库要进行两项工作。为此,当更新所涉及到的记录比较多时,这个更新操作就可能要耗费比较长的时间。此时,可能需要更新内容本身字符的多少,跟其更新的效率并不具有很大的联系。其执行的速度主要跟其更新所涉及到的记录数量有关。

为此,有时候在追求其更快的执行速度时,我们往往需要在这些语句中加入一个nologging选项。如在使用Update语句更新价格信息时,加上这个Nologging选项就可以显著提高其执行的速度。更新操作所涉及到的记录越多,其效果越明显。那么这个可选项到底有什么作用呢?顾名思义,这个参数就是告诉数据库系统,在执行这个操作的时候,不要忘重做日志中记录相关的信息。也就是说,此时数据库系统只需要做一件工作即可,至需要更改数据,而不会产生重做日志文件。在理想的状态下,这么设置可以将这些操作的速度提高一倍。所以在进行大规模的更新、删除、插入记录等操作时,笔者往往建议大家加上这个可选项,以提高执行的速度。

1 2 3  下一页

Tags:提高 Oracle Insert

编辑录入:爽爽 [复制链接] [打 印]
赞助商链接