这是一个SQL查询,我正在使用一个页面,我正在构建。它目前运行约8秒钟,并返回12000条记录,这是正确的,但我想知道如果你可以提出可能的建议,我怎样才能使它更快?MYSQL查询,优化
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 AS Category,
(SELECT MAX(PubDate) AS PubDate
FROM NewsPaperAd
WHERE (AdvertiserID = Advertiser.AdvertiserID)
GROUP BY AdvertiserID) AS PubDate
FROM 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
WHERE ((SELECT MAX(PubDate) AS PubDate
FROM NewsPaperAd AS NewsPaperAd_1
WHERE (AdvertiserID = Advertiser.AdvertiserID)
GROUP BY AdvertiserID) IS NOT NULL)
ORDER BY PubDate DESC
我真的很想知道group by子句有哪些替代方案,因为这是真正放慢速度的原因。
谢谢
我不明白为什么这是标有视觉工作室2008年。 – 2011-03-02 19:30:53
真的不多 - 只是一个查询??如何提供你想要做什么的概述,关于表结构,引擎,索引,查询计划等的一些信息.... – 2011-03-02 21:17:38