Konvertierung von varchar(16) auf timestamp

Datenbank Migration (z. B. von MySQL auf PostgreSQL)
ads
Erfahrener Benutzer
Beiträge: 4151
Registriert: Mi 8. Feb 2006, 10:58
Wohnort: MD
Kontaktdaten:

Beitrag von ads »

Ach ... wenn man dafür keinen Index auf die Spalte legt und die Tabelle gleich mit etwas Platz zwischendurch erstellt, dann greift HOT und die Updates passieren in-place. Spart eine Menge Speicherplatz.
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support

akretschmer
Erfahrener Benutzer
Beiträge: 7715
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitrag von akretschmer »

ads hat geschrieben:Ach ... wenn man dafür keinen Index auf die Spalte legt und die Tabelle gleich mit etwas Platz zwischendurch erstellt, dann greift HOT und die Updates passieren in-place. Spart eine Menge Speicherplatz.


Sag mal, wie hoch sollte man den fillfactor da angeben? Es wird ja jede Zeile verändert, ein fillfactor=50 würde also zwar naheliegen, aber die Tabelle in einer Größe von 200% der nötigen Größe erstellen. Dasselbe erreiche ich auch mit fillfactor=100 und einer extra Import-Tabelle, oder?

Oder würde, konkret in diesem Falle, auch ein fillfactor größer 50 funktionieren? (und dabei HOT-Tupels, die 'grad anfielen', mit genutzt werden?

PS.: sorry, falls ich Dich im Urlaub stresse ...

Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

drooper
Benutzer
Beiträge: 81
Registriert: Mi 5. Aug 2009, 15:57

Beitrag von drooper »

Ich danke euch für die zahlreichen Antworten.
Werde es jetzt über eine zusätzliche Spalte machen in der der String drin steht und diesen dann in ein timestamp umwandeln und in die korrekte Spalte einfügen.

mfg
Marcus

ads
Erfahrener Benutzer
Beiträge: 4151
Registriert: Mi 8. Feb 2006, 10:58
Wohnort: MD
Kontaktdaten:

Beitrag von ads »

akretschmer hat geschrieben:Sag mal, wie hoch sollte man den fillfactor da angeben? Es wird ja jede Zeile verändert, ein fillfactor=50 würde also zwar naheliegen, aber die Tabelle in einer Größe von 200% der nötigen Größe erstellen. Dasselbe erreiche ich auch mit fillfactor=100 und einer extra Import-Tabelle, oder?

Hmm, das Update findet innerhalb einer einzigen Transaktion statt. Deshalb werden die Tuples noch benötigt, bis die Transaktion abgeschlossen ist. 50% hört sich gut an, sollte man aber mal testen ...


PS.: sorry, falls ich Dich im Urlaub stresse ...
Ich genieße gerade einen guten Whiskey in der Lobby ;-)
Xandrian: Kurz gesagt: Du hast ein falsches Konzept und willst nicht auf ads hören Bild

Jetzt NEU: PostgreSQL - Datenbankpraxis für Anwender, Administratoren und Entwickler

PostgreSQL Service & Support

akretschmer
Erfahrener Benutzer
Beiträge: 7715
Registriert: So 29. Okt 2006, 13:35
Wohnort: Kaufbach, Sachsen, Germany, Germany
Kontaktdaten:

Beitrag von akretschmer »

ads hat geschrieben:Ich genieße gerade einen guten Whiskey in der Lobby ;-)


Das sei Dir gegönnt. Ich stelle mir da z.B. einen Tullamore Dew oder Bushmills vor, nicht jedoch 'Johnny walker red label' oder vergleichbare billige Getränke vor ... und dazu einen schönen Kamin. Aber ich schweife ab...

Andreas
PostgreSQL Development, 24x7 Support, Remote DBA, Training & Services

Antworten