Re: Datensatz an vorbestimmter Stelle einfuegen.

From: Thomas Markus <t(dot)markus(at)proventis(dot)net>
To: Markus Winand <markus(dot)winand(at)winand(dot)at>, Guenther Boelter <gboelter(at)gmail(dot)com>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Datensatz an vorbestimmter Stelle einfuegen.
Date: 2014-02-03 14:17:02
Message-ID: 52EFA4DE.1000803@proventis.net
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hi Markus,

das ist mit einem Index nicht zu lösen.

Test:

create temp table test(id int);
create index test1 on test(id asc);

insert into test values (1),(2),(3);
select * from test;

delete from test where id=2;
insert into test values (2);
select * from test;

Gruss
Thomas

Am 03.02.2014 15:13, schrieb Markus Winand:
> Du könntest einen Index mit der entsprechend der ORDER BY-Klausel anlegen. Die Daten darin verhalten sich dann wie von dir gewünscht (samt dem extra aufwand die Reihenfolge zu wahren).
>
> Ein Index ist natürlich eine Extra-Struktur - die Tabelle selbst bleibt davon unberührt (ausser eben CLUSTER). Falls nötig könntest du den Index für einen Index-Only Scan auslegen, damit hättest du zumindest die lese-performance wie von dir gewünscht.
>
> mfg,
>
> Markus Winand
> markus(dot)winand(at)winand(dot)at
> T +43 1 9444047
>
> +++ Das Wichtigste in 140 Zeichen. Unsere SQL Performance Tipps gibt's jetzt auch auf Deutsch:
> https://twitter.com/SQLPerfTipps/
>
> Maderspergerstr. 1-3/9/11
> 1160 Wien
> AUSTRIA
>
>
>
>
>
>
>
> On 2014-02-3, at 15:06 , Thomas Markus wrote:
>
>> Hi Guenther,
>>
>> eine Reihenfolge ist nicht definiert ausser du tust es selbst (per ORDER BY). Z.B. mit einer extra Spalte zum Sortieren
>>
>>
>> Gruss
>> Thomas
>>
>>
>> Am 03.02.2014 15:03, schrieb Guenther Boelter:
>>> Zunaechst mal ein herzliches Hello aus der Waerme in die kalte Heimat.
>>>
>>> Und natuerlich habe ich mal wieder eine ganz 'einfache' Frage ...
>>>
>>> Gibt es unter PostgreSQL die Moeglichkeit einen Datensatz an einer
>>> bestimmten Stelle in die Datenbank (Tabelle) einzufuegen, also z. B. als
>>> 10. Datensatz wobei evtl. vorhandene Datensaetze dann entsprechend um 1
>>> nach hinten verschoben werden?
>>>
>>> Sinn und Zweck ist es, die Daten dann spaeter ohne weiteren Aufwand in
>>> eben genau in der Reihenfolge auch wieder auszugeben. Es geht hier bei
>>> der Ausgabe immer nur um wenige Datensaetze.
>>>
>>> Danke im voraus fuer eure Muehe.
>>>
>>> Guenther
>>> Davao City, Philippines, Planet Earth, 28.0 °C (im Schatten!)
>>>
>>>
>>> -- DavaoSOFT, the home of ERPel ERPel, das deutsche
>>> Warenwirtschaftssystem fuer LINUX http://www.davaosoft.com
>>>
>>>
>>>
>>
>>
>> --
>> Sent via pgsql-de-allgemein mailing list (pgsql-de-allgemein(at)postgresql(dot)org)
>> To make changes to your subscription:
>> http://www.postgresql.org/mailpref/pgsql-de-allgemein
>
>

--

===================================================================
proventis GmbH | Neue Grünstrasse 25-26 | D-10179 Berlin |
Tel +49 30 29 36 399 22 | Fax -50 | t(dot)markus(at)proventis(dot)net
-------------------------------------------------------------------
Geschäftsführer: Norman Frischmuth | Sitz: Berlin
Handelsregister: AG Berlin-Charlottenburg, HRB 82917
-------------------------------------------------------------------
Blue Ant - webbasiertes Multi-Projektmanagement - mehr Infos unter:

Veranstaltungen
http://www.proventis.net/de/blue-ant/veranstaltungen.html

Support
http://www.proventis.net/de/blue-ant/support.html

Blue Ant auf Facebook
http://www.facebook.com/Multi.Projektmanagement.Software.BlueAnt
===================================================================

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Thomas Markus 2014-02-03 14:19:14 Re: Datensatz an vorbestimmter Stelle einfuegen - Nachfrage
Previous Message Katharina Büchse 2014-02-03 14:16:30 Datensatz an vorbestimmter Stelle einfuegen - Nachfrage