Re: Mehrfacheinträge in Tabelle Korrigieren

From: Armin Barth <armin(dot)barth(at)pumpen-barth(dot)de>
To: Andreas Kretschmer <akretschmer(at)spamfence(dot)net>
Cc: pgsql-de-allgemein(at)postgresql(dot)org
Subject: Re: Mehrfacheinträge in Tabelle Korrigieren
Date: 2011-01-26 06:32:39
Message-ID: 1296023559.21338.11.camel@jupiter
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-de-allgemein

Hallo Andreas,
danke für deine schnelle Antwort.

>
> Als erstes solltest Du die Macher der Software kräftig treten.
>
Habe ich schon versucht, aber die schütteln sich nur und behaupten es
wäre ein Anwenderfehler.
Wie auch immer.
Die Lösung ist wichtig.
Also mit der Test-Tabelle habe ich es gerade versucht - klapp wunder
bar.
Nochmals DANKE !

> Zu Deiner Frage:
>
> test=# select * from bla;
> a | b | c
> ---+---+---
> 1 | 1 | 1
> 1 | 2 | 3
> 1 | 2 | 2
> 1 | 3 | 4
> 1 | 2 | 3
> 1 | 1 | 1
> (6 Zeilen)
>
> Zeit: 0,165 ms
> test=*# select distinct on (a,b,c) ctid, a,b,c from bla;
> ctid | a | b | c
> -------+---+---+---
> (0,1) | 1 | 1 | 1
> (0,3) | 1 | 2 | 2
> (0,2) | 1 | 2 | 3
> (0,4) | 1 | 3 | 4
> (4 Zeilen)
>

Das mit dem 'ctid' ist mir neu
Was ist das -- finde ich in meinem Postgresql-Buch nicht.
Ist das nur eine temporärer Index?
Denn bei 'SELECT * FROM bla;' taucht er nicht auf.

> Zeit: 0,286 ms
> test=*# delete from bla where (ctid, a,b,c) not in (select distinct on
> (a,b,c) ctid, a,b,c from bla);
> DELETE 2
> Zeit: 33,910 ms
> test=*# select * from bla;
> a | b | c
> ---+---+---
> 1 | 1 | 1
> 1 | 2 | 3
> 1 | 2 | 2
> 1 | 3 | 4
> (4 Zeilen)
>
> Zeit: 0,220 ms
>
>
>
> Andreas
> --
> Really, I'm not out to destroy Microsoft. That will just be a completely
> unintentional side effect. (Linus Torvalds)
> "If I was god, I would recompile penguin with --enable-fly." (unknown)
> Kaufbach, Saxony, Germany, Europe. N 51.05082°, E 13.56889°
>

Ich melde mich noch mal, wenn ich es mit der Originaltabelle versucht
habe.
Gruß
Armin
--
Armin Barth <armin(dot)barth(at)pumpen-barth(dot)de>

In response to

Responses

Browse pgsql-de-allgemein by date

  From Date Subject
Next Message Andreas Gaab 2011-01-26 08:04:20 AW: [pgsql-de-allgemein] Mehrfacheinträge in Tabelle Korrigieren
Previous Message Andreas 'ads' Scherbaum 2011-01-25 23:16:16 == Wöchentlicher PostgreSQL Newsletter - 23. Januar 2011 ==