FIGURE 3 Efficient execution plan for version 3 of the stored procedure -- Plan for EXEC dbo.usp_GetOrders @OrderID = 10248; |--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([tempdb].[dbo].[Orders])) |--Index Seek(OBJECT:([tempdb].[dbo].[Orders].[idx_unc_OrderID]), SEEK:([Orders].[OrderID]=[@oid]) ORDERED FORWARD) -- Plan for EXEC dbo.usp_GetOrders @OrderDate = '19970101'; |--Clustered Index Seek(OBJECT:([tempdb].[dbo].[Orders].[idx_cl_OrderDate]), SEEK:([Orders].[OrderDate]=[@dt]) ORDERED FORWARD) -- Plan for EXEC dbo.usp_GetOrders @CustomerID = N'CENTC'; |--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([tempdb].[dbo].[Orders])) |--Index Seek(OBJECT:([tempdb].[dbo].[Orders].[idx_nc_CustomerID]), SEEK:([Orders].[CustomerID]=[@cid]) ORDERED FORWARD) -- Plan for EXEC dbo.usp_GetOrders @EmployeeID = 5; |--Bookmark Lookup(BOOKMARK:([Bmk1000]), OBJECT:([tempdb].[dbo].[Orders]) WITH PREFETCH) |--Index Seek(OBJECT:([tempdb].[dbo].[Orders].[idx_nc_EmployeeID]), SEEK:([Orders].[EmployeeID]=[@eid]) ORDERED FORWARD)