在oracle中使用索引就可以使返回的记录得到排序,而无需再使用order by。对于不同的排序方式可以用不同的索引完成,通过hint/*+*/指示可以控制索引按不同的扫描方式工作,从而达到不同的效果。如/*+index(table index_name)*/或/*+index_desc(table index_name)*/指示按索引升序扫描或按索引降序扫描,从而实现返回的记录按字段的升序排列或按字段的降序排列。
例如对于表t(a int,b int)在a上有索引index_a,b上有索引b
则select * from t得到的记录
|
a |
b |
|
19 |
43 |
|
21 |
1 |
|
3 |
10 |
|
5 |
8 |
|
11 |
2 |