时间:2021-07-01 10:21:17 帮助过:3人阅读
SQL Server存储的最小单位是页,每一页大小为8K,SQL Server对于页的读取是原子性的,要么读完一页,要么完全不读。即使是仅仅要获得一条数据,也要读完一页。而页之间的数据组织结构为B树结构。
所以SQL Server对于逻辑读、预读、物理读的单位是页。
基本上,逻辑读、物理读、预读都等于是扫描了多少个页。
当遇到一个查询语句时,SQL SERVER会走第一步,分别为生成执行计划(占用CPU和内存资源),同步的用估计的数据去磁盘中取得需要取的数据(占用IO资源,这就是预读),
注意,两个第一步是并行的,SQL SERVER通过这种方式来提高查询性能.
然后查询计划生成好了以后去缓存读取数据.当发现缓存缺少所需要的数据后让缓存再次去读硬盘(物理读)
最后从缓存中取出所有数据(逻辑读)。
SQLSERVER预读逻辑读物理读
标签:组织 一个 查询 nvarchar 提高 font 逻辑 取数据 varchar