Ottimizzare un database MySQL o MariaDB
Se il database MySQL o MariaDB rallenta nelle ore di punta, restituisce "Too many connections" o occupa sempre più spazio, puoi richiedere un'analisi complessiva di configurazione e query.
Tempo tecnico indicativo
3–10 ore
Fascia di costo orientativa
150–600 €
Complessità tipica
Media
In cosa consiste il problema
Molti database restano con la configurazione di installazione per anni, mentre dati, utenti e traffico crescono. Il risultato sono picchi di lentezza, errori di connessione e un server che sembra sempre insufficiente.
Un'ottimizzazione complessiva guarda a tre livelli: configurazione del server, struttura e indici delle tabelle, comportamento dell'applicazione (connessioni, query ripetute, cache).
Cause frequenti
- Configurazione di default: buffer e cache non adeguati alla RAM disponibile.
- Connessioni non chiuse: pool esauriti e "Too many connections".
- Tabelle frammentate: dati storici mai archiviati.
- Query ripetute: stesse letture eseguite centinaia di volte per pagina.
Come si risolve
- Tuning configurazione: innodb_buffer_pool_size, connessioni, timeout, log.
- Revisione indici: rimozione dei duplicati e creazione di quelli mancanti.
- Archiviazione: spostamento dei dati storici e manutenzione periodica.
- Cache applicativa: riduzione delle query ripetute.
Un esempio tipico
Un sito con picchi serali restituisce "Too many connections". L'analisi mostra connessioni lasciate aperte da uno script di sincronizzazione e un buffer pool configurato per una frazione della RAM. Corretto lo script e adeguata la configurazione, il server regge i picchi con un carico inferiore a prima.
Scenario illustrativo, non riferito a un cliente reale.
Quando serve uno sviluppatore
Quando i problemi si presentano sotto carico e non sono riproducibili facilmente: serve raccogliere metriche nel periodo giusto.
Tecnologie coinvolte
Quanto tempo può richiedere e quanto può costare
Indicativamente 3–10 ore di lavoro tecnico, per una fascia di 150–600 €.
Le variabili che incidono di più:
- risorse del server
- numero di applicazioni sullo stesso database
- possibilità di riavvii programmati
- storico dei dati da archiviare
Le fasce di prezzo e di tempo indicate sono orientative e dipendono da complessità, qualità del codice esistente, accessi disponibili, documentazione e requisiti effettivi. Non costituiscono preventivo.
Informazioni da preparare
- Versione e risorse del server
- File di configurazione (my.cnf)
- Orari dei problemi
- Accesso al server database
Problemi simili
- Query MySQL lenta: come individuarla e velocizzarla Report o pagine che impiegano secondi a caricarsi? Come trovare le query MySQL lente, usare EXPLAIN…
- Backup automatico del database e prova di ripristino Backup automatici e verificati di MySQL, PostgreSQL o SQL Server, copia fuori sede, retention e…
- Migrare un database da MySQL a PostgreSQL Come migrare da MySQL a PostgreSQL: conversione schema, dati, query incompatibili, verifica e…
Correggere errore 500 su applicazione PHP dopo aggiornamento del server
Dopo che l'hosting ha aggiornato la versione di PHP, il gestionale interno mostra una pagina bianca con errore 500 su quasi tutte le pagine. Il login funziona…
- Fascia orientativa
- 80–250 €
- Tempo tecnico
- 1–4 ore
Convertire un sito PHP statico in un piccolo CMS gestibile
Il nostro sito è fatto di pagine PHP con i testi scritti nel codice: per cambiare una news o un orario dobbiamo chiamare un programmatore. Vorremmo poter…
- Fascia orientativa
- 500–1.300 €
- Tempo tecnico
- 10–24 ore
Aggiornare applicazione da PHP 7.4 a PHP 8.3
Il nostro portale clienti gira ancora su PHP 7.4, non più supportato. Il fornitore di hosting ci ha comunicato che entro qualche mese la versione verrà…
- Fascia orientativa
- 900–2.400 €
- Tempo tecnico
- 16–40 ore
Creare API REST per esporre il catalogo prodotti ai rivenditori
Vorremmo permettere ai nostri rivenditori di leggere in automatico il catalogo prodotti, i prezzi riservati e la disponibilità di magazzino, invece di inviare…
- Fascia orientativa
- 350–900 €
- Tempo tecnico
- 6–16 ore
Domande frequenti
Conviene passare a PostgreSQL?
Non per risolvere un problema di prestazioni: prima si ottimizza ciò che c'è; la migrazione ha senso per altre esigenze.
Contenuto revisionato il 05/10/2026.