Daniela Koller: SQL nächster Datensatz

Beitrag lesen

Hi Philipp, Chris

natürlich gibt es auch bei SQL einen "nächsten Datensatz", allerdings nicht in pfysikalischer reihenfolge, da SQL-Datenbanken sich nicht in die Speicherung reinreden lassen. Die speichern die Sätze sowieso nicht in einer geschlossenen Struktur sondern in Bäumen, teilwweise für jedes Feld einen eigenen.

Ich glaube du sprichst von den Indizies, nicht von den Datensätzen, denn diese liegen
wirklich in einer linearen, sequenziellen Reihenfolge (ggf. mit Löchern) vor.

Ehm, sogar Datensätze können ganz grundsätzlich völlig verstreut liegen, es ist nichtmal gegeben, dass die überhaupt auf der selben Festplatte liegen, das hängt sehr vom DBMS ab und von Optionen mit denen man das DBMS füttert, sie liegen auch nicht zwingend in der zeitlichen Reihenfolge auf der Platte. Ich kenne allerdings keine einzige Datenbank, die einen Datensatz aufsplittet.

Das Problem ist, dass einige ein vorschnelles Posting verfassen und sich diesen
Überlegungen nicht wirklich bewusst sind, deshalb Danielas berechtigter Einwurf (schätze
ich mal *g*).

Mir unklar, ob der Poster vielleicht einfach nur bei PHP, oder irgend einer anderen Sprache, einen Datensatz weiter (MYSQL_FETCH_ROW) will.

Und selbst wenn ich davon ausgegangen wäre, dass der Poster die Frage im Zusammenhang mit ORDER BY gedacht hat, hätte die Frage zuwenig Informationen geboten um zu helfen. Limit ist hochgradig DBMS spezifisch, bei MySQL gehts mit LIMIT n,m, bei PostGreSQL gehts ganz ähnlich aber zusätzlich braucht man noch das Schlüsselwort Offset, bei Oracle gehts nochmal anders und bei MSSQL nochmal.

Gruss Daniela

--
Nein, wir frieren unsere Hühner nicht auf Gletschern fest.
Selfcode: sh:) fo:) ch:) rl:) br:> n4:| ie:{ mo:) va:) de:] zu:} fl:( ss:) ls:&