可以消除重复的顺序扫描来提高对大表顺序读取操作的性能。
顺序访问不是规划中的第一个表的表可能导致性能下降,因为对于从前述表选择的每一行,可能均要对表中的每行读一次。
如果表较小,重复读取影响不大,因为表完全驻留在内存中。 对内存中的表进行顺序搜索要比通过索引搜索同一个表速度快,尤其是在将这些索引页保留在内存中而将其他有用的页挤出缓冲区的情况下。
但是,当表大于数页时,重复顺序访问会导致低性能。 避免此问题的一种方法是对用来连接表的列建立索引。
具有 Resource 特权的任何用户都可以建立连接索引。 使用 CREATE INDEX 语句可建立索引。
索引占用的磁盘空间与关键字值的宽度和行数成比例。 (请参阅估计索引页。)同时,数据库服务器必须在每次插入、删除或更新行时更新索引,索引更新将减慢这些操作的速度。 如果必要,您可以使用 DROP INDEX 语句在一系列查询之后释放索引,此操作将释放空间并使更新表的操作更加容易。