/ Forside / Teknologi / Udvikling / SQL / Nyhedsindlæg
Login
Glemt dit kodeord?
Brugernavn

Kodeord


Reklame
Top 10 brugere
SQL
#NavnPoint
pmbruun 1704
niller 962
fehaar 730
Interkril.. 701
ellebye 510
pawel 510
rpje 405
pete 350
gibson 320
10  smorch 260
Sløv select?
Fra : m@ds


Dato : 03-05-11 22:35

Hej

MS SQL 2008 R2

Jeg har 2 næsten ens select statements:

SELECT TOP 20 DocumentId, Date1 AS [Dato]
FROM Document INNER JOIN ItemType ON Document.ItemTypeId =
ItemType.ItemTypeId
WHERE (ItemType.Name = 'dr') order by Date1 DESC

SELECT TOP 20 DocumentId, Date1 AS [Dato]
FROM Document INNER JOIN ItemType ON Document.ItemTypeId =
ItemType.ItemTypeId
WHERE (Document.ItemTypeId = 8) order by Date1 DESC

De skal vælge de sidste 20 oprettede records i Document tabellen hvor type
svare til det parameter jeg sender ind i spén.
Den eneste forskel, på de 2 selects, er i hvilken table der skal vælge type.
Begge disse selects kan udføres på 00:00:00, selvom der er 25 mio+ records i
document tabellen. Hvis jeg skifter type til en der ikke findes 20 records
af tager select1 lidt over et minut og select2 udføres stadig på 00:00:00.
Jeg vil tro det er et index jeg mangler at oprette, men ved ikke hvordan det
skal oprettes. Lige nu findes nedenstående index i databasen.

CREATE NONCLUSTERED INDEX [dta_index_Document_2] ON [dbo].[Document]
([Date1] DESC) INCLUDE ( [DocumentId],[ItemTypeId])

Nogle gode forslag?

--
MK


 
 
Søg
Reklame
Statistik
Spørgsmål : 177558
Tips : 31968
Nyheder : 719565
Indlæg : 6408914
Brugere : 218888

Månedens bedste
Årets bedste
Sidste års bedste