从执行计划来看,按索引扫描和按索引rowid方式访问。
2.通过以时间、流水号等字段为索引字段,可以使记录实现按插入的顺序返回
同样利用上述特性,来说明2.1中的备份问题。当日志表有索引时,选择限定扫描范围的索引字段,使之保证后插入的记录是在结果集后面的,如时间或流水号等,该顺序就保证了按rownum控制行数时insert和delete操作的记录是完全一致的,同时基于索引的扫描保证了sql的性能。
3.sybase
不管你的select 语句中是否在where后面使用了索引,sybase均可能基于代价对索引的使用进行调整。即使没有where语句也有可能使用索引,即使有where语句也有可能不用索引。当然,如果表本身就没有创建任何索引就肯定不会使用到索引。
3.1没有索引的表
没有索引的表在称为堆表。堆表在sysindexes表中有一条对应的记录,其indid=0。first字段表示堆表的首页,root表示堆表的尾页。堆表中所有的数据页形成从sysindex.first <-> sysindex.root的双向链表。