Re: Datensatz an vorbestimmter Stelle einfuegen - Nachfrage

Michael Renner <[email protected]> Mon, 3 Feb 2014 15:33:37 +0100
Newsgroups gmane.comp.db.postgresql.german
Message-ID <[email protected]>
On 03.02.2014, at 15:16 , Katharina Büchse <[email protected]> wrote:

> Kann man sich in Postgres denn überhaupt darauf verlassen, dass die Daten in der Reihenfolge ausgegeben werden, wie sie auf Platte stehen? Von der reinen Lehre her sind SQL-Befehle Anweisungen gegen Mengen, die erst mal keine bestimmte Reihenfolge besitzen, außer man sortiert sie mit order-by ...

Was Thomas geschrieben hat. Prinzipiell liefert ein Sequential Scan die Tuple schon in Table Order zurück, allerdings ist der Startpunkt im Table auch nicht fix wenn’s mehrere parallele Leser gibt: http://www.postgresql.org/docs/9.3/static/runtime-config-compatible.html#GUC-SYNCHRONIZE-SEQSCANS

Man kann sich also die Result Sets mit Seiteneffekten schon hinbiegen, Verlass ist allerdings keiner wenn kein explizites ORDER BY im Query drin ist.

lg,
Michael
signature.asc (application/pgp-signature, 801 B)
-----BEGIN PGP SIGNATURE-----

iQIcBAEBCAAGBQJS76jBAAoJEImSC1aj+78fL70P+wUxtGVcv8FsLvEeqZdp3D4E
QMk9p1ysLhU2bCxLUIruMSxa3GjGQjl7xgSjd1mt+VYTiJFkeDzWgDZ5Vh4D7ldQ
QRoA/apRUbXRU5vE/XrtiJfC2K2K/9hCJFaHdWpvSU8H7YLyd0i3+s1qfnExzoiQ
VLefkLTOV+anNhva74uZTK7lyPaB1H34n/0XoRpgAtQarElDsyWWPWFY2N9jVe28
vcdVSXcJpstRlkr7Y7ksCpDLv5hSz7U3IzoaoaiDZh+oYJLC5SxOnsf02HD/Kh2P
4gY9hsJkB3jPMAhfEsD55c3/D3KBDRnFxGUYCPgjfY8NpkISbtSqne9eS5v+YnhE
Jn7ehEQxJzXSUJvrU92x7+cwsVdoIuSCe1umaJ7Hm1O0AvsGd9dBaOFckZxJUwID
K72khlht339EeChjBQebpAz4aSIqhWa78ncaPJpjmbKdqD4ncT6B80YoZ9Nw8y9V
CuVOUUX/RslKepN4i60g5zL+y0Mh25FIFG8zSHGv4IjETtpiSWDOF5iuwhSFcb70
dqZhQXkMZQghS9ZgK1TqqfW8lKNhdgqdc142JHzopJ+ooVqtBgx4Kl7q8oLY16m9
CeZ/i6vygVDeJMnzV9VUVjyZIq78p9y3LkCggw/vsRbE3Ku9vSu0dlske7cZCA+h
Q7+OI15rQfl/gd1UfMio
=sBL3
-----END PGP SIGNATURE-----