Ich habe eine Tabelle, die ungefähr 15 Millionen Datensätze enthalten wird. Jetzt muss ich der Tabelle einen Index hinzufügen.
Das Hinzufügen eines Index dauert einige Zeit, um jeden Eintrag in der Tabelle zu aktualisieren.
Ich bin ziemlich verwirrt, ob das Hinzufügen des Index zu Ausfallzeiten führen wird.
Wenn ja, wie kann ich dann die Ausfallzeiten überwinden?
postgresql
index
locking
concurrency
Harry Suren
quelle
quelle
Antworten:
Mit plain
CREATE INDEX
wird die Tabelle für Schreibvorgänge gesperrt, jedoch nicht für Lesevorgänge.Verwenden Sie
CREATE INDEX CONCURRENTLY
diese Option , um Schreibsperren zu vermeiden.Aus den PostgreSQL-Dokumenten
CREATE INDEX
:Und genauer gesagt (wie @ypercube kommentiert ):
Meine kühne Betonung.
quelle