在数据库中,对无
索引的表进行查询一般称为全表扫描。全表扫描是
数据库服务器用来搜寻表的每一条记录的过程,直到所有符合给定条件的记录返回为止。
一般说来数据库在进行全表扫描时进行的是多块读取,也就是说每次从buffer cache中读取多块,而不是一次一块的读。另外,全表扫描的成本中并不包括对数据进行过滤和计算的成本。也就是说全表扫描的成本仅仅是读取数据的成本,而不包含对数据进行计算,过滤的CPU成本。
相对于索引范围扫描来说,全表扫描的成本是衡定不变的。无论你的查询是想访问一笔数据还是访问整个表的所有数据,全表扫描都会把整张表读出来。而索引范围扫描就不同,因为有了索引这个有序的数据结构做支持,可以只访问需要的索引块和需要的
数据块,而不是访问整张表。
1. 单表查询
2. 多表连接