Czy SQL Server nie powinien obsługiwać ZAKRESU?

9

Jako ktoś, kto tworzy strony internetowe i robi trochę SQL Servera, nie mam wątpliwości, że SQL Server powinien obsługiwać prostą klauzulę, która wskazuje, że wyniki powinny zawierać tylko określony zakres wierszy. Na przykład wiersze od 30 do 39.

Na obecnym etapie implementacja stronicowania w SQL Server jest w rzeczywistości nieco większa niż możliwości wielu programistów internetowych, gdy ich głównym celem nie jest SQL.

Ponadto znacznie uprościłoby zapytania, które mogą być już złożone ze względu na sprzężenia i inne warunki.

Co więcej, jestem zdania, że ​​taka klauzula może mieć większą szansę na optymalizację wewnętrzną w czasie, ponieważ logika byłaby całkowicie pod kontrolą Microsoftu.

Przywołałem to jakiś czas temu na innym forum i wiele odpowiedzi wydawało się sugerować, że nie byłoby to pożądane.

Biorąc pod uwagę, że wszelkie istniejące techniki stronicowania pozostałyby nienaruszone, jaki mógłby być powód, aby nie dodawać takiej klauzuli? I byłoby o wiele lepiej dla ludzi takich jak ja.

Czy ktoś może mieć dobry powód, dla którego Microsoft tego nie zrobił?

Jonathan Wood
źródło

Odpowiedzi:

9

Microsoft zrobił to z kolejną wersją SQL Servera o nazwie kodowej „Denali”, a także SQL CE 4. Sprawdź części OFFSET & FETCH klauzuli ORDER BY tutaj: http://msdn.microsoft.com/en- us / library / ms188385 (v = sql.110) .aspx

Eric Humphrey - lotsahelp
źródło
Cóż, to nie jest tak proste, jak sobie wyobrażałem, ale wezmę to! I bardzo się cieszę, że nie jestem jedyną osobą, która się z tym zgadza, jest tego warta. Z niecierpliwością czekam na przybycie kolejnej wersji! Dzięki.
Jonathan Wood