Domanda

Ho dei tavoli che ne traggono notevolmente Cluster on/cluster usando In Postgres SQL:

# CLUSTER table USING index_name;
# ANALYZE VERBOSE table;
# CLUSTER VERBOSE;

Un'attività di manutenzione esegue periodicamente il cluster per mantenere le cose fresche. Ma c'è un test che posso eseguire per vedere quanto è frammentato il tavolo, prima di eseguire il cluster verboso? Forse qualcosa di simile:

# CLUSTER ANALYZE
table 40000 records. 4000 observed clusters, 5000 potential clusters (20% fragmentation)

Si noti che utilizzo il cluster, quindi i dati accessibili contemporaneamente vengono "deframmentati" in un piccolo numero di blocchi di disco. Ad esempio, ho migliaia di attributi che vanno con ogni pagina. un CLUSTER page_attribute USING page_id; Mette tutti gli attributi uno accanto all'altro, riducendo notevolmente il carico del disco.

Nessuna soluzione corretta

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a dba.stackexchange
scroll top