MYSQL query, optimization -
this sql query using in page building. runs 8 seconds , returns 12000 records, correct wondering if make possible suggestion how make faster?
select distinct advertiser.advertiserid, business.name, business.address1, business.address2, business.city, business.state, business.postalcode, business.country, business.phone, business.fax, business.email, advertisercategory.categoryid, advertisercategory.categoryname category, (select max(pubdate) pubdate newspaperad (advertiserid = advertiser.advertiserid) group advertiserid) pubdate business inner join advertiser on business.businessid = advertiser.advertiserid inner join tsheetrecipient on advertiser.advertiserid = tsheetrecipient.advertiserid left outer join advertisercategory inner join advertisercategoryjoin on advertisercategory.categoryid = advertisercategoryjoin.categoryid on advertiser.advertiserid = advertisercategoryjoin.advertiserid ((select max(pubdate) pubdate newspaperad newspaperad_1 (advertiserid = advertiser.advertiserid) group advertiserid) not null) order pubdate desc
i'm wondering alternatives there group clause slowing down.
thanks
you move select max date part clause instead of having in select , clauses. like:
select distinct advertiser.advertiserid, business.name, business.address1, business.address2, business.city, business.state, business.postalcode, business.country, business.phone, business.fax, business.email, advertisercategory.categoryid, advertisercategory.categoryname category, pd.pubdate business inner join advertiser on business.businessid = advertiser.advertiserid inner join tsheetrecipient on advertiser.advertiserid = tsheetrecipient.advertiserid left outer join advertisercategory inner join advertisercategoryjoin on advertisercategory.categoryid = advertisercategoryjoin.categoryid on advertiser.advertiserid = advertisercategoryjoin.advertiserid, (select advertiserid, max(pubdate) pubdate newspaperad group advertiserid) pd pd.advertiserid = advertiser.advertiserid , pd.pubdate not null order pubdate desc
note didn't test query should give general idea.
Comments
Post a Comment