Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
SQL Server 2000/2005/2008, Express, Access, MySQL, Oracle
Mysql query analyzer/optimizer
domenica 19 agosto 2012 - 01.38
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Elenco Tags
SQL Server 2008 R2
|
SQL Server Express
|
MySQL 5.5
|
MySQL 5.1
avarrati
Profilo
| Newbie
28
messaggi | Data Invio:
dom 19 ago 2012 - 01:38
Salve a tutti,
premesso che ho realizzato un sw che viene utilizzato da quasi 2 anni e si appoggia ad un db mysql; allo stato attuale contiene oltre 60 milioni di tuple e quando vado ad eseguire alcune query impiega oltre 45 minuti. (le query son sempre le stesse, non cambiano mai)
so che per SQL Server esiste query analyzer o query optimizer.. esiste qualcosa di 'parallelo' per mysql ??
mi sapreste dare qualche consiglio su come ridurre i tempi ..? (avevo pensavo di migrare da mysql a sql server.. ma ci son dei costi da sostenere? se uso sql express..? )
premesso che le tabelle che entrano in gioco son da 13 a 18, ma tutte son con relazione (1,n) e finiscono tutte con un group by e con un order..
alcuni mi hanno consigliato di indicizzare, altri mi han detto che è inutile in quanto le query passano le relazioni tramite gli id che son già di per se chiavi primarie autoincrementanti pertanto son già indicizzate..
qualcuno ha una soluzione/consiglio da propormi? grazie
alx_81
Profilo
| Guru
8.814
messaggi | Data Invio:
dom 19 ago 2012 - 18:22
>Salve a tutti,
Ciao
>impiega oltre 45 minuti. (le query son sempre le stesse, non cambiano mai)
dipende però cosa fai nelle query che impiegano così tanto.
>so che per SQL Server esiste query analyzer o query optimizer..
considera che il query analyzer è l'editor di query antecedente a SQL Server 2005 ed il query optimizer è un processo interno al motore del database che consente di selezionare il miglior piano di esecuzione possibile per una query sfruttando anche le statistiche. Non conosco di preciso come ragioni mysql ma credo che all'interno del motore qualcosa di simile lo abbia.
Se però tu intendi un tool che prende un campione tipico di query sul tuo relazionale e ti consiglia che cambiamenti fare per ottimizzare il motore, stai intendendo qualcosa tipo il database tuning advisor, e sinceramente non so se esiste qualcosa di simile per mysql.
Se a te basta capire quali piani vengono usati, sembra che il comando EXPLAIN possa esserti di aiuto:
http://dev.mysql.com/doc/refman/5.5/en/explain.html
>mi sapreste dare qualche consiglio su come ridurre i tempi ..?
dipende da che fai, ragioni row by row o set based?
>(avevo pensavo di migrare da mysql a sql server.. ma ci son dei costi da sostenere? se uso sql express..? )
nessun costo con express, e di certo posso aiutarti meglio
Fai attenzione però alle limitazioni della versione free (10GB di database, un solo processore, ad esempio)
>premesso che le tabelle che entrano in gioco son da 13 a 18,
>ma tutte son con relazione (1,n) e finiscono tutte con un group
>by e con un order..
>alcuni mi hanno consigliato di indicizzare, altri mi han detto
>che è inutile in quanto le query passano le relazioni tramite
>gli id che son già di per se chiavi primarie autoincrementanti
>pertanto son già indicizzate..
mah, questo è da vedere non c'è nulla di indicizzato alla perfezione prima..
>qualcuno ha una soluzione/consiglio da propormi?
cerca di postare la query che impiega 45 min..
> grazie
di nulla!
--
Alessandro Alpi | SQL Server MVP
MCP|MCITP|MCTS|MCT
http://www.alessandroalpi.net
http://blogs.dotnethell.it/suxstellino
http://mvp.microsoft.com/profiles/Alessandro.Alpi
avarrati
Profilo
| Newbie
28
messaggi | Data Invio:
ven 12 ott 2012 - 22:54
ciao scusami se ti rispondo solo ora, ma avuto dei problemi imprevisti..
mi rimetterò all'opera tra qualche settimana.. grazie e scusami ancora
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !