-1

私のアプリケーションは、SQL Server データベースからデータを取得する必要があります。私の問題は、ビューに結合する必要がある 3 つのテーブルがあることです。これにはかなりの時間がかかります (ビューの生成に約 30 秒かかります)。この SQL クエリを最適化する方法があるかどうか疑問に思っていました。

SQL クエリ:

SELECT TOP (100) PERCENT Request1.RequestID,
                         TrackIT.dbo.Sending.Barcode,
                         TrackIT.dbo.Address_View.AdrID,
                         TrackIT.dbo.Address_View.Name,
                         TrackIT.dbo.Address_View.Street,
                         TrackIT.dbo.Address_View.HouseNo,
                         TrackIT.dbo.Address_View.Postal,
                         TrackIT.dbo.Address_View.City,
                         TrackIT.dbo.Address_View.Country,
                         Request1.Latitude,
                         Request1.Longitude,
                         Request1.ReceivedDate
FROM   (SELECT DISTINCT RequestID,
                        Ltrim([Content]) AS Barcode,
                        Latitude,
                        Longitude,
                        ReceivedDate
        FROM   RequestWithLocation
        WHERE  ( Site LIKE '%Z' )
               AND ( [Content] <> '' )
               AND ( AddressID = '0' )
               AND ReceivedDate > Dateadd(day, -7, Getdate())) AS Request1
       INNER JOIN TrackIT.dbo.Sending
         ON Request1.Barcode = TrackIT.dbo.Sending.Barcode
       INNER JOIN TrackIT.dbo.Address_View
         ON TrackIT.dbo.Sending.DeliveryAdrID = TrackIT.dbo.Address_View.AdrID
ORDER  BY AdrID 

誰でも助けることができますか?

4

2 に答える 2

0

テーブルの結合フィールドにインデックスを追加する必要があります。

于 2012-11-05T12:18:58.500 に答える
-1

こんにちは、インデックス付きビューを試していただけますか

参考:http ://technet.microsoft.com/en-US/library/cc917715.aspx

于 2012-11-05T07:19:23.910 に答える