Tek-Tips is the largest IT community on the Internet today!

Members share and learn making Tek-Tips Forums the best source of peer-reviewed technical information on the Internet!

  • Congratulations Mike Lewis on being selected by the Tek-Tips community for having the most helpful posts in the forums last week. Way to Go!

query iptimization question

Status
Not open for further replies.

habesha

Programmer
Oct 30, 2006
68
0
0
US
I have a query and, no matter how many indexes I have added I can't remove the clustered index scanning
what do you suggest

below is the show plan text


|--Filter(WHERE:(((((((([@p_In_EVT_LAST_CHANGED_USER_ID_Num]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_LAST_CHANGED_USER_ID]=[@p_In_EVT_LAST_CHANGED_USER_ID_Num]) AND ([@p_In_EVT_LAST_CHANGED_DATE_Dtm]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_LAST_CHANGED_DATE]=[@p_In_EVT_LAST_CHANGED_DATE_Dtm])) AND ([@p_In_EVT_TRANSACTION_GUID_Uid]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_TRANSACTION_GUID]=[@p_In_EVT_TRANSACTION_GUID_Uid])) AND ([@p_In_EVT_QC_DONE_DATE_Dtm]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_QC_DONE_DATE]=[@p_In_EVT_QC_DONE_DATE_Dtm])) AND ([@p_In_EVT_STATUS_CHANGE_PERSON_FIRST_NAME_Vch]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_STATUS_CHANGE_PERSON_FIRST_NAME]=[@p_In_EVT_STATUS_CHANGE_PERSON_FIRST_NAME_Vch])) AND ([@p_In_EVT_STATUS_CHANGE_PERSON_LAST_NAME_Vch]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_STATUS_CHANGE_PERSON_LAST_NAME]=[@p_In_EVT_STATUS_CHANGE_PERSON_LAST_NAME_Vch])) AND ([@p_In_EVT_STATUS_CHANGE_PERSON_MIDDLE_NAME_Vch]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_STATUS_CHANGE_PERSON_MIDDLE_NAME]=[@p_In_EVT_STATUS_CHANGE_PERSON_MIDDLE_NAME_Vch])) AND ([@p_In_EVT_DELAYED_REASON_TEXT_Vch]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_DELAYED_REASON_TEXT]=[@p_In_EVT_DELAYED_REASON_TEXT_Vch])))
|--Clustered Index Scan(OBJECT:([DaidsesDev4].[Phoenix].[EAE_VERSION_STATUS_HISTORIES].[EVT_ID_PK]), WHERE:(((((((((([@p_In_EVT_ID_Num]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_ID]=[@p_In_EVT_ID_Num]) AND ([@p_In_EVT_EVE_ID_Num]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_EVE_ID]=[@p_In_EVT_EVE_ID_Num])) AND ([@p_In_EVT_STATUS_TYPE_Vch]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_STATUS_TYPE]=[@p_In_EVT_STATUS_TYPE_Vch])) AND ([@p_In_EVT_STATUS_DATE_Dtm]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_STATUS_DATE]=[@p_In_EVT_STATUS_DATE_Dtm])) AND ([@p_In_EVT_STATUS_CHANGE_PERSON_ID_Num]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_STATUS_CHANGE_PERSON_ID]=[@p_In_EVT_STATUS_CHANGE_PERSON_ID_Num])) AND [EAE_VERSION_STATUS_HISTORIES].[EVT_RECORD_STATUS_FLAG]=isnull([@p_In_EVT_RECORD_STATUS_FLAG_Vch], 'Active')) AND ([@p_In_EVT_RECORD_STATUS_DATE_Dtm]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_RECORD_STATUS_DATE]=[@p_In_EVT_RECORD_STATUS_DATE_Dtm])) AND ([@p_In_EVT_QC_DONE_FLAG_Vch]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_QC_DONE_FLAG]=[@p_In_EVT_QC_DONE_FLAG_Vch])) AND ([@p_In_EVT_CREATED_USER_ID_Num]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_CREATED_USER_ID]=[@p_In_EVT_CREATED_USER_ID_Num])) AND ([@p_In_EVT_CREATED_DATE_Dtm]=NULL OR [EAE_VERSION_STATUS_HISTORIES].[EVT_CREATED_DATE]=[@p_In_EVT_CREATED_DATE_Dtm])))

 
Can you post your query in more readable form using [ignore]
Code:
[/ignore] tags? Try clicking the 'Process TGML' link below posting window if you need more info on that.

And what column is the clustered index scan on?

You have had a lot of questions on this subject, I think it might be worth investing in a book

faq183-3324

there is a section on performance tuning and monitoring.

Good Luck,

Alex

Ignorance of certain subjects is a great part of wisdom
 
Status
Not open for further replies.

Part and Inventory Search

Sponsor

Back
Top