WEB开发网
开发学院数据库Oracle Oracle数据库中段管理的四个技巧 阅读

Oracle数据库中段管理的四个技巧

 2009-03-04 13:11:10 来源:WEB开发网   
核心提示: 而如果索引比较大的话,则可以将大索引的数据部署道几个不同的分去段中,Oracle数据库中段管理的四个技巧(3),这可以有效提高数据库的性能,技巧三:减少临时段的使用临时段主要用来存储排序等操作所产生的临时数据,为此,在应用程序设计过程中,如现在某张数据表中,有A、C、B、F、E、D等记录

而如果索引比较大的话,则可以将大索引的数据部署道几个不同的分去段中,这可以有效提高数据库的性能。

技巧三:减少临时段的使用

临时段主要用来存储排序等操作所产生的临时数据。如现在某张数据表中,有A、C、B、F、E、D等记录。此时,若用Order By子句对其进行排序,数据库系统就会返回A、B、C、D、E、F数据。这些被重新排序过的数据,就叫做临时数据。通常情况下,这些临时数据会存放在两个地方,分别为PGA工作区与临时段中。默认情况下,这些临时数据会先存储在PAG工作区。如果因为临时数据比较大,PGA工作区已经满了的情况下,数据库会把剩下的临时数据存放到临时段中。

从理论上讲,无论是把数据存放在PGA工作区还是存储在临时段中,对于用户的最终结果没有影响。但是,如果从数据库性能方面考虑,则两者就有比较大的差异。

PGA工作区,又叫做程序全局区域,它是包含服务器进程的数据和控制信息的非共享内存区域。通常情况下,只要数据库服务器进程启动,则Oracle就会在内存中创建程序全局区域。在10G以后的版本中,Oracle数据库能够自动根据内存的使用情况来管理程序全局区域,而不用数据库管理员去手工的干预,从而使得PGA工作区的使用率更高。所以,一般来说,把临时数据存放在PGA工作区,其效率更高。

在实际工作中,数据库管理员应该尽量避免产生大量的临时数据,或者说,尽量不让临时数据超过PGA工作区所能够承受的最大容量。从而数据库不得不把临时数据存放到临时段中。

在实际工作中,很多Select语句都会产生临时数据。如在Select语句中,若加入Order By、Group By等子句,都会导致数据库对数据文件中的记录进行重新组织,从而产生大量的临时数据。为此,在应用程序设计中,就最好能够加入一些默认的查询限制条件,从而避免产生大量的临时数据。如在销售表查询的时候,如果用户没有输入具体的查询条件,则应用程序默认只查询近30天的销售记录,并按交易的日期或者产品进行排序。如果这些记录不能够满足用户的需求,再进行全部记录的查询。如此设计的话,就可以在一定程度上减少临时数据,减少临时段使用的频率。因为根据相关统计,用户在查询的时候,往往不会主动加入查询条件。而他们所需要的数据,往往都是最近一些的交易记录。为此,在应用程序设计过程中,加入一些默认的查询条件是非常有必要的。

上一页  1 2 3 4  下一页

Tags:Oracle 数据库 中段

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