1、Set Statistics IO ON
2、打开profiler跟踪执行SQL: SELECT * FROM data_dict WHERE table_name='s_Order'结果:在消息面板里显示
表'data_dict'。扫描计数1,逻辑读取204 次,物理读取12 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。 在Profiler里面显示Reads为228
各位客官,能告诉我为什么这么简单的sql SET STATISTICS IO ON 出来的结果 和 profiler出来的结果不一样? 大家也可以试一试,简单情况下 reads=逻辑读。 稍微复杂点 reads等于什么? 这种情况经常出现
2、打开profiler跟踪执行SQL: SELECT * FROM data_dict WHERE table_name='s_Order'结果:在消息面板里显示
表'data_dict'。扫描计数1,逻辑读取204 次,物理读取12 次,预读0 次,lob 逻辑读取0 次,lob 物理读取0 次,lob 预读0 次。 在Profiler里面显示Reads为228
各位客官,能告诉我为什么这么简单的sql SET STATISTICS IO ON 出来的结果 和 profiler出来的结果不一样? 大家也可以试一试,简单情况下 reads=逻辑读。 稍微复杂点 reads等于什么? 这种情况经常出现
Profiler本身也会消耗资源。
物理读就是硬盘读,其实sql从硬盘读应该包括两个过程,即从硬盘读到缓存,再从缓存度,因此这是两个过程,所以就是12*2=24
综上所述,204+24=228
所以profiler没有区分逻辑读和物理读,应该是两者之和楼主验证下……