Logical Reads指的是逻辑读
执行SELECT * FROM [order details] 他用的索引扫描Index ScanRows Executes StmtText
----------- ----------- -----------------------------------------------------------------------------------------
2154 1 SELECT * FROM [order details]
2154 1 |--Clustered Index Scan(OBJECT:([Northwind].[dbo].[Order Details].[PK_Order_Details])) 执行SELECT * FROM [order details] WHERE [ProductID]=@1 他用的是索引定位Index Seek
Rows Executes StmtText
----------- ----------- -----------------------------------------------------------------------------------------------------------------------------------------------
37 1 SELECT * FROM [order details] WHERE [ProductID]=@1
37 1 |--Book Lookup(BOOKMARK:([Bmk1000]), OBJECT:([Northwind].[dbo].[Order Details]))
37 1 |--Index Seek(OBJECT:([Northwind].[dbo].[Order Details].[ProductID]), SEEK:([Order Details].[ProductID]=Convert([@1])) ORDERED FORWARD) 一般情况Index Seek比Index Scan要读的行数要少一些,但是这两条语句都是把所有列都显示出来,而第一条和第二条他们扫描对象是不一样.因为第二条扫描的是ProductID索引而ProductID索引中只有一列.所以第二条比第一条多了一个Book Lookup
如果ProductID索引是包括所有列的索引的话,那第二条就比第一条也少了.
执行SELECT * FROM [order details] 他用的索引扫描Index ScanRows Executes StmtText
----------- ----------- -----------------------------------------------------------------------------------------
2154 1 SELECT * FROM [order details]
2154 1 |--Clustered Index Scan(OBJECT:([Northwind].[dbo].[Order Details].[PK_Order_Details])) 执行SELECT * FROM [order details] WHERE [ProductID]=@1 他用的是索引定位Index Seek
Rows Executes StmtText
----------- ----------- -----------------------------------------------------------------------------------------------------------------------------------------------
37 1 SELECT * FROM [order details] WHERE [ProductID]=@1
37 1 |--Book Lookup(BOOKMARK:([Bmk1000]), OBJECT:([Northwind].[dbo].[Order Details]))
37 1 |--Index Seek(OBJECT:([Northwind].[dbo].[Order Details].[ProductID]), SEEK:([Order Details].[ProductID]=Convert([@1])) ORDERED FORWARD) 一般情况Index Seek比Index Scan要读的行数要少一些,但是这两条语句都是把所有列都显示出来,而第一条和第二条他们扫描对象是不一样.因为第二条扫描的是ProductID索引而ProductID索引中只有一列.所以第二条比第一条多了一个Book Lookup
如果ProductID索引是包括所有列的索引的话,那第二条就比第一条也少了.
SET STATISTICS IO ON
SET STATISTICS PROFILE on
SELECT ProductID FROM [order details]
SET STATISTICS IO off
SET STATISTICS PROFILE off--表 'Order Details'。扫描计数 1,逻辑读 5 次,物理读 0 次,预读 0 次。SET STATISTICS IO ON
SET STATISTICS PROFILE on
SELECT ProductID FROM [order details] where ProductID = '11'
SET STATISTICS IO off
SET STATISTICS PROFILE off
--表 'Order Details'。扫描计数 1,逻辑读 2 次,物理读 0 次,预读 0 次。