sql >> Databasteknik >  >> RDS >> PostgreSQL

postgres trunkering är långsam

TRUNCATE måste spola shared_buffers för tabellen som trunkeras, och den måste ta bort länken till den gamla filen, vilket kan vara långsamt på filsystem med långsam radering som ext3 .

1,5 timme är dock ganska extremt, då vi brukar prata om sekunder som mest. Det är mycket troligt att du har andra sessioner som håller lås på bordet som förhindrar TRUNCATE från att fortsätta. Se pg_catalog.pg_locks och pg_catalog.pg_stat_activity .

PostgreSQL-wikiartikeln om låsövervakning borde vara användbart.

Se även:Postgresql trunkeringshastighet



  1. MYSQL okänd klausul join kolumn i nästa join

  2. MySQL-dataextraktion från 3 tabeller - joins och max

  3. Inkluderar Custom SELECT-satsen i ActiveRecord-frågan

  4. Generera SQL-schema från XML