WEB开发网
开发学院数据库MSSQL Server SQL Server与Oracle数据库在查询优化上的差异(一... 阅读

SQL Server与Oracle数据库在查询优化上的差异(一)

 2008-08-14 09:54:55 来源:WEB开发网   
核心提示: 在刚开始的时候,人们想到了利用镞表的方式来提高这个性能,SQL Server与Oracle数据库在查询优化上的差异(一)(4),也就是说,把整个抽屉分成几排,关于这方面的内容,在后续的文章中,然后每排给他们归一类,如按办图书卡时的年龄进行分类

在刚开始的时候,人们想到了利用镞表的方式来提高这个性能。也就是说,把整个抽屉分成几排,然后每排给他们归一类,如按办图书卡时的年龄进行分类,10岁以下的一类,10岁到15岁的一类等等。如此的话,在存读者信息的时候,就不会简单的按照办卡时间来存储,而是按照类别来存储。如果是属于10岁到15岁整个类,就会被物理的存储在同一个系列的块中。如此的话,就可以分类查找信息的速度。如果可以按类别查找数据信息,速度会非常快。

但是,随着数据库中的镞块增加,会影响数据库的整体运行性能。这个问题发生之后,数据库开发人员又想到了利用哈希函数来解决这个问题。哈希函数将会给定一个数值用来限定镞块数的数量的预计范围。

也就是说,现在我们要建立一个图书馆用户的表格,我们可以利用图书卡的卡号作为镞主键将有利于数据的存储分布。但是,当读者增加时,就需要使用一个哈希函数来约束镞块的数量。

不过Oracle数据库在使用镞技术来优化大表数据查询之外,还采用了另外一种独有的技术,即分区表的形式,来提高用户对于大表的查询效率。

在Oracle数据库中,可以将一个大表分开放置在几个逻辑分区中,或者是将一个大表分成几张小表。在查询时,即可以单独的对这些小表进行查询,而且,也可以利用union all参数进行一起查询。

如在设计销售订单管理系统时,我们可以按年度把销售订单表分割成几张小表,如此的话,后续的查询效率会比一张大表高很多。不过,这个技术的应用,关键在于如何对表进行分割,以及如何把表放置在几个逻辑分区中,这需要有一定经验的数据库设计工程师才能设计出一个好的方案。关于这方面的内容,在后续的文章中,笔者会有所阐述。

上一页  1 2 3 4 

Tags:SQL Server Oracle

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