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

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

 2008-08-14 09:54:57 来源:WEB开发网   
核心提示: 二是在需要频繁进行排序或者分组的表上,建立索引,SQL Server与Oracle数据库在查询优化上的差异(二)(2),可以极大地提高查询效率,如ERP系统在设计的时候,这样设计,随着索引的增加,可能需要频繁地查询采购订单明细,而且

二是在需要频繁进行排序或者分组的表上,建立索引,可以极大地提高查询效率。如ERP系统在设计的时候,可能需要频繁地查询采购订单明细,而且,这份报表是需要根据采购订单的号码进行排序。如此的话,在数据库设计的时候,就可以把采购订单的号码设置为索引,在每次运行采购订单明细作业的时候,前台ERP程序的性能就会高许多。而有时候,可能需要按供应商来统计当天的进货金额,此时,最好能够在进货明细表中,给供应商字段添加索引,这对于提高当天进货汇总表作业的运行效率,会有非常大的帮助。总之,在分组查询或者排序查询的表上,设置索引对于提高应用程序的整体性能,具有不可忽视的作用。

三是如果待排序的列有多个,则需要在这些列上建立复合索引。如前台应用程序在生成当天的进货明细表时,需要按供应商、采购订单号、产品编号进行排序。此时,也就是说,在生成进货明细表这份报表时,要按这三个字段进行排序。遇到这种情况时,对这些字段建立复合索引,提高查询效率,是一个不错的选择。

以上这些SQL语句优化,Oracle数据库与SQL Server数据库都可以实现。虽然具体的实现语句可能稍有区别,但都是换汤不换药,没有本质区别。

2、 把索引与数据文件存放在不同的磁盘中。

当索引或者数据库文件比较庞大时,把他们放在同一个磁盘中会加大输入输出等竞争,从而抵消了索引的作用。为了解决过多的索引导致输入输出效率降低的问题,在数据库设计的时候,最好把索引跟用户的表空间建立在不同的磁盘中。如把数据库的表空间建立在一块硬盘中,而把索引建立在另外一块硬盘中。如此的话,就可以明显地降低输入输出竞争。也就是说,这样设计,随着索引的增加,不会导致输入输出效率的低下。

上一页  1 2 3 4  下一页

Tags:SQL Server Oracle

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