Impostazioni per le query di grandi dimensioni

MariaDB 5.3 (e 5.5) presenta alcune funzionalità che sono utili per l'esecuzioni di query di grandi dimensioni e pertanto sono disabilitate per default.

Questa pagina illustra le impostazioni raccomandate per le query che lavorano con grandi quantità di record in I/O.

Per prima cosa, attivare il Batched Key Access:

# Attivare le letture ordinate su disco
optimizer_switch='mrr=on'
optimizer_switch='mrr_cost_based=off'

# Attivare il Batched Key Access (BKA)
join_cache_level = 6

Occorre dare al buffer BKA spazio sufficiente per operare. Idealmente, dovrebbe averne abbastanza per contenere tutti i dati esaminati dalla query.

# Dimensioni massime per l'intera join
join_buffer_space_limit = 300M

# Limite per ogni singola tabella
join_buffer_size = 100M

Attivare index_merge/sort-intersection:

optimizer_switch='index_merge_sort_intersection=on'

Se le query che verranno usate esaminano una buona parte delle tabelle (un po' più del 30%), è meglio attivare hash join:

# Attivare sia Hash Join, sia Batched Key Access
join_cache_level = 8

Commenti

Sto caricando i commenti......