Sollte SQL Server RANGE nicht unterstützen?

9

Als jemand, der Websites entwickelt und ein bisschen SQL Server ausführt, scheint es mir ein Kinderspiel, dass SQL Server eine einfache Klausel unterstützen sollte, die angibt, dass die Ergebnisse nur einen bestimmten Zeilenbereich enthalten sollten. Zum Beispiel die Zeilen 30 bis 39.

Derzeit liegt die Implementierung von Paging in SQL Server weit außerhalb der Möglichkeiten vieler Webentwickler, wenn ihr Hauptaugenmerk nicht auf SQL liegt.

Darüber hinaus würde dies Abfragen erheblich vereinfachen, die aufgrund von Verknüpfungen und anderen Bedingungen möglicherweise bereits komplex sind.

Darüber hinaus bin ich der Meinung, dass eine solche Klausel möglicherweise eine bessere Chance hat, im Laufe der Zeit intern optimiert zu werden, da die Logik vollständig unter der Kontrolle von Microsoft steht.

Ich habe dies vor einiger Zeit in einem anderen Forum angesprochen und viele der Antworten schienen darauf hinzudeuten, dass dies nicht wünschenswert wäre.

Welchen möglichen Grund könnte es geben, eine solche Klausel nicht hinzuzufügen, da vorhandene Paging-Techniken intakt bleiben würden? Und es wäre so viel besser für Leute wie mich.

Kann jemand einen guten Grund haben, warum Microsoft dies nicht getan hat?

Jonathan Wood
quelle

Antworten:

9

Microsoft hat dies mit der nächsten Version von SQL Server, Codename "Denali" sowie SQL CE 4 getan. Lesen Sie die OFFSET & FETCH-Teile der ORDER BY-Klausel hier: http://msdn.microsoft.com/en- us / library / ms188385 (v = sql.110) .aspx

Eric Humphrey - Lotsahelp
quelle
Nun, es ist nicht genau so einfach, wie ich es mir vorgestellt habe, aber ich werde es nehmen! Und ich freue mich sehr zu hören, dass ich nicht die einzige Person bin, die zustimmt, dass sich dies lohnt. Ich bin gespannt auf die Ankunft der nächsten Version! Vielen Dank.
Jonathan Wood