I'm trying to optimise a stored procedure in SQL 2000 and in the Query Execution Plan the highest Query Cost is on a Bookmark Lookup, however all the information I have looked at says to create an index to resolve this but the script is two tables joined so am a little stuck as to how to resolve.
**** Edit ******
Here is the information from the query execution plan, as you can see it mentions one table but in the output it mentions the joined table too.
All ideas gratefully received.
Many thanks: /upfiles/bookmark_lookup.jpg
To create a covering index in SQL SErver 2000, you have to add ALL columns from the output to the key. The only ones you don't have to add, are the column (or columns) that makes up the clustered index on that table (they'll be included automatically anyway). From the index above, you're missing the sProductName column and the uGUID.
answered Aug 26, 2011 at 05:11 AM
Grant Fritchey ♦♦
Even though it is 2 tables joined, the bookmark lookup should just be against one object.
answered Aug 26, 2011 at 02:32 AM
Kev Riley ♦♦