select返回记录的顺序[2]

[入库:2005年8月18日] [更新:2007年3月24日]

本文简介:选择自 youbo2004 的 blog

1.简介

       当我们执行了select语句,select返回的记录的顺序对我们编程方式有较大影响,对数据库记录备份清除以及sql性能优化都有很大的关系。因此有必要明确select返回记录的顺序。

select返回记录的顺序与数据库类型有很大关系,因此以下按数据库类型分别讨论。本文主要讨论了oracle/sybase/sql server返回记录的顺序,从原理探讨三种数据库各自的特点,并着重探讨了这些差异对数据查询及记录备份的影响。

2. oracle

以下假设数据库查询优化方式均为基于rule的方式,oracle 采用两种访问表中记录的方式:

  a. 全表扫描 (full table scan)

  全表扫描就是顺序地访问表中每条记录. oracle采用一次读入多个数据块(database block)的方式优化全表扫描。

  b. 通过rowid访问表

你可以采用基于rowid的访问方式情况,提高访问表的效率,rowid包含了表中记录的物理位置信息。oracle采用索引(index)实现了数据和存放数据的物理位置(rowid)之间的联系。通常索引提供了快速访问rowid的方法,因此那些基于索引列的查询就可以得到性能上的提高。通常表现为按索引扫描。(index scan)

本文关键:select返回记录的顺序
  相关方案
Google
 

本站最佳浏览方式为 分辨率 1024x768 IE 6.0(或更高版本的 IE浏览器)

go top