Subject Query Assistance Please
Author slalom91
I am trying to produce a list of items which excludes items which
already exist within a certain table. The entire list is about
40,000 items and the target table contains about 32,000 of the
existing 40,000. I have tried various different techniques including
using "not in", "not exists", and a derived table as indicated in the
following statement...

Select p.ProductKey, p.Name, p.VendorItemNumber, pt.ProductTypeName,
vc.VendorName
From

(Select pe.ProductKey, tvcde.ContractDetailKey
From Product pe
Inner Join TheaterVendorContractHeader tvche on (tvche.ContractKey =
498 And pe.VendorCorporateKey = tvche.VendorCorporateKey)
Left Outer Join TheaterVendorContractDetail tvcde on
(tvcde.ProductKey = pe.ProductKey And tvcde.ContractKey =
tvche.ContractKey)
Where tvcde.ContractDetailKey is null) dt

Inner Join TheaterVendorContractHeader tvch on (tvch.ContractKey =
498)
Inner Join VendorCorporate vc on (vc.VendorCorporateKey =
tvch.VendorCorporateKey)
Inner Join Product p on (p.ProductKey = dt.ProductKey And
dt.ContractDetailKey is null And p.DiscontinuedYN = 'N')
Inner Join ProductSubTypes pst on (pst.ProductSubTypeKey =
p.ProductSubTypeKey)
Inner Join ProductTypes pt on (pt.ProductTypeKey = pst.ProductTypeKey)
Inner Join TheaterProduct tp on (tp.TheaterCorporateKey =
tvch.TheaterCorporateKey and tp.ProductKey = p.ProductKey)

the result set takes upwards of 60 seconds to produce results. The
statistics on the query indicate that all reads are indexed and the
most reads from any particular table are 85,000.

Does anyone have any suggestions on how to produce results faster for
what seems to be a fairly standard request?