最近在研究执行计划,一直没弄清楚什么是logical reads,还有执行计划反应的真正含义,憋的难受
一下摘自网络
SQL code
扫描计数1,逻辑读1 次,物理读0 次,预读0 次。
解释下其意思:
四个值分别为:
执行的扫描次数;
从数据缓存读取的页数;
从磁盘读取的页数;
为进行查询而放入缓存的页数
重要:如果对于一个SQL查询有多种写法,那么这四个值中的逻辑读(logical reads)决定了哪个是最优化的。
那么这四个值中的逻辑读(logical reads)决定了哪个是最优化的。
为什么逻辑读决定了哪个是最优化的?
物理读和逻辑读的区别是什么呢?
sql版的大牛没有没有原创的关于执行计划的文章,谢谢!
------解决方案--------------------逻辑读 >= 物理读
当要读取的所有页面都不在内存中,逻辑读 = 物理读
当要读取的所有页面有一部分在内存中,逻辑读 > 物理读
当要读取的所有页面都在内存中,物理读 = 0
物理读是不可预知的(无法预知在某一时刻内存中有哪些页面的缓存)
------解决方案--------------------
------解决方案--------------------执行计划反映了你的查询语句在执行过程中系统可能的明细执行步骤.