This is a read-only copy of the MariaDB Knowledgebase generated on 2024-12-22. For the latest, interactive version please visit https://mariadb.com/kb/.

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
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.