Click here to view and discuss this page in DocCommentXchange. In the future, you will be sent there automatically.

SQL Anywhere 11.0.1 (中文) » UltraLite - 数据库管理和参考 » 使用 UltraLite 数据库 » UltraLite 性能与优化 » 管理临时表

 

使用直接页扫描

当直接从数据库页访问信息更有效时,作为索引扫描的替代方法 UltraLite 使用直接页扫描。只有当优化程序确认了以下内容时才使用直接页扫描:

  • 预先存在的索引不能更有效地返回结果。

  • 未使用查询执行更新。例如,已经将语句声明为 FOR READ ONLY(未指定 FOR 语句时的缺省设置),或者查询以数据明显无法更新的形式编写。

因为 UltraLite 直接从存储行的页面读取行,所以查询结果无顺序的返回。后继查询结果的顺序是不可预知的。如果需要行的顺序为可预知的且确定的,请使用 ORDER BY 子句在一致顺序中获取结果。反之,如果顺序并不重要,可以省略 ORDER BY 子句以提高查询性能。

注意

如果使用 Table API 编写应用程序,则无法使用直接页扫描。

可以查看 UltraLite 何时直接扫描页或使用哪个索引返回结果。请参见确定优化程序使用的访问方法