Hallo zusammen
Ich habe gerade von einem Kunden der SQL Server 2008 R2 hat,
Daten bekommen die ich analysieren muss.
Nun habe ich ein Problem bei einer Abfrage die ich machen will.
Es geht um eine Tabelle "Test", welche knapp 6 Mio Records hat.
In dieser Tabelle sind Daten die nicht eindeutig sind.
Mein Statement welches bei sql2000 und sql 2005 ohne Probleme
lief, geht hier aber nun nicht mehr auf dem sql2008.
SELECT TOP 1 <eindatumsfeld> FROM test
WHERE test_person = 110
AND test_irgendwas = 0
ORDER BY <eindatumsfeld>
Es geht Darum das kleinste Datum zu erhalten welches in dieser
Tabelle ist und für die Person 110 zutrifft.
Wie gesagt, bei den "alten" SQL-Versionen geht das wunderbar,
aber nun läuft mein Statement leider endlos dahin...und es kommt
nie eine Antwort.
Lasse ich aber das Order by weg, dann bekomme ich das resultat
innert paar milisekunden.
Ich kann und will aber nicht 120'000 Record lesen vom server und
dann lokal nach datum sortieren. Erstens dauert das zu lange und
zweitens bläst es das Client-programm unnötig auf.
Hat jemand eine Idee weshalb das nicht mehr geht?
Set rowcount 1 geht auch nicht...bwz. hat den selben effekt dass das
statement endlos läuft
Vielen Dank für Tips
Dani