PDA

View Full Version : [MySql] Lentezza e split db


perporsof
19-06-2014, 16:05
Ho due db, uno di test e uno di esercizio. L'applicazione che lo utilizza e' basata su MsAccess, con tabelle linkate.
Il db di esercizio e' stato di recente diviso in tre parti, pero' sempre sulla stessa macchina e senza alcuna variazione di rilievo.

Adesso i tempi di esecuzione di alcune query, molto poche per la verita', sono diventati anche centinaia di volte piu' lunghi, nell'ambiente di esercizio, rispetto a quello di test, mentre prima dello split erano uguali, cosa che mi spiegherei solo con il fatto che qualche indice di qualche tabella, nell'ambiente di esercizio, si sia rovinato e sia da riparare.

E il problema non direi che dipenda dal fatto di aver diviso in tre il nuovo database di esercizio perche' molte query che 'pescano' da uno e dall'altro hanno tempi invariati.

Vorrei usare qualche tool, tipo 'MysqlCheck', per verificare l'integrita' del database nuovo di esercizio (che funziona perfettamente, e' solo molto piu' lento in certi casi), qualcuno ha esperienze ?

grazie in anticipo

Daniels118
23-06-2014, 14:06
Perché nel titolo c'è scritto MySql e poi parli di MsAccess?
Cosa intendi per "diviso"? Hai ripartito le tabelle in 3 database?
Prendi la query che mostra performance diverse tra i due ambienti e lanciala con EXPLAIN, quindi verifica che utilizzi gli stessi indici, così avrai almeno la certezza che nella "divisione" non si sia perso qualcosa.

perporsof
25-06-2014, 10:30
Perché nel titolo c'è scritto MySql e poi parli di MsAccess?


perche' il Db di appoggio e' costituito al 99% da tabelle MySQL,
a cui si accede con la tecnica delle tabelle linkate (piu' alcune piccole tabelle locali MS Access).

perporsof
25-06-2014, 10:31
Cosa intendi per "diviso"? Hai ripartito le tabelle in 3 database?


S' il db originario e' stato ripartito in 3 database distinti

perporsof
25-06-2014, 10:36
Ho comunque chiarito adesso finalmente che il problema non e' dovuto a MySQL, che non ha problemi, indici e tabelle sono a posto, ma ad Access.

In particolare al link tra MSAccess e le tabelle MySQL, che con la nuova struttura dei database va in crisi, in alcuni casi particolari, in presenza di query particolarmente pesanti..

(non posso modificare il titolo della discussione ? vorrei aggiungere MSAccess nel titolo..)