Please start any new threads on our new site at https://forums.sqlteam.com. We've got lots of great SQL Server experts to answer whatever question you can come up with.

 All Forums
 SQL Server 2000 Forums
 Transact-SQL (2000)
 Bookmark Lookup in Excution Plan

Author  Topic 

jung1975
Aged Yak Warrior

503 Posts

Posted - 2005-10-20 : 13:25:56

I am not sure why SQL server is still using a Bookmark look up even though the proper indexes are placed in all of the columns where JOIN and WHERE clause are.
How can I get rid of the Bookmark Lookup?


eyechart
Master Smack Fu Yak Hacker

3575 Posts

Posted - 2005-10-20 : 13:33:37
the bookmark lookup occurs when you have a non-clustered index seek and the data you need is not contained in the index. It uses this to fetch the needed data from the corresponding table or clustered index (by row id or clustered index key).

You can eliminate this by using a clustered index instead, or by using a covered index. A covered index is one that contains all the columns needed to satisfy the query. In a large query returning many columns that is not advisable, but for certain queries a covered index is a good choice.

Sometimes the bookmark lookup is unavoidable because you already have a clustered index on your table (only one per table) or this particular index is not a good candidate for a clustered index (the cluster key is a GUID for example)



-ec
Go to Top of Page

jung1975
Aged Yak Warrior

503 Posts

Posted - 2005-10-20 : 14:28:27
Thanks! EC


Go to Top of Page
   

- Advertisement -