Langsame einfache Update-Abfrage in der PostgreSQL-Datenbank mit 3 Millionen Zeilen

Ich versuche eine einfache UPDATE table SET column1 = 0 auf eine Tabelle mit ~3 Mio Zeilen auf Postegres 8.4 aber es nimmt für immer zu beenden. Es läuft schon seit mehr als 10 min. nun, in meinem letzten Versuch.

Bevor ich versuchte zu laufen ein VACUUM und ANALYZE-Befehle auf dem Tisch und ich habe auch versucht zu erstellen, einige Indizes (obwohl ich bezweifle, das wird keinen Unterschied machen, in diesem Fall) aber keiner scheint zu helfen.

Irgendwelche anderen Ideen?

Dank,
Ricardo

Update:

Dies ist die Struktur der Tabelle:

CREATE TABLE myTable
(
  id bigserial NOT NULL,
  title text,
  description text,
  link text,
  "type" character varying(255),
  generalFreq real,
  generalWeight real,
  author_id bigint,
  status_id bigint,
  CONSTRAINT resources_pkey PRIMARY KEY (id),
  CONSTRAINT author_pkey FOREIGN KEY (author_id)
      REFERENCES users (id) MATCH SIMPLE
      ON UPDATE NO ACTION ON DELETE NO ACTION,
  CONSTRAINT c_unique_status_id UNIQUE (status_id)
);

Ich versuche zu laufen UPDATE myTable SET generalFreq = 0;

InformationsquelleAutor der Frage Ricardo Lage | 2010-07-29

Schreibe einen Kommentar