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>
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 == |