IIWAB postgresql seq scan index scan - IIWAB

postgresql seq scan index scan

IIWAB 7月前 ⋅ 272 阅读

在PostgreSQL中,"seq scan"和"index scan"是查询执行计划中的两种不同的访问方式。

顺序扫描(Seq Scan):

当PostgreSQL执行一个顺序扫描时,它会扫描表中的每一行,不使用索引。这种扫描通常用于访问小表或者没有可用索引的情况。

示例SQL查询:

SELECT * FROM my_table;

索引扫描(Index Scan):

当PostgreSQL执行一个索引扫描时,它会首先扫描索引,然后通过索引中的指针回到表中检索对应的行。索引扫描通常用于访问大表的某些特定行,因为它可以减少需要读取的数据量。

示例SQL查询(使用B-tree索引):

SELECT * FROM my_table WHERE my_column = 'some_value';

在实际使用中,你可以通过EXPLAIN语句查看查询的执行计划,从而确定PostgreSQL是使用顺序扫描还是索引扫描。例如:

EXPLAIN SELECT * FROM my_table WHERE my_column = 'some_value';

执行上述EXPLAIN命令将显示查询的执行计划,包括是否使用了索引扫描以及使用的索引。


全部评论: 0

    我有话说: