Topic: Pubblico - Composto da 11 Posts di 3 Utenti.
| 11 Luglio, 2011 17:13 | #1 | ||
|---|---|---|---|
|
Salve a tutti quelli che leggono questo post. Mi trovo ad affrontare il seguente problema: Grazie a chiunque possa darmi una risposta o un input |
|||
| 12 Luglio, 2011 07:52 | #2 | ||
|---|---|---|---|
|
Dopo altre prove ho verificato che il rallentamento è dovuto ad un altro join con una tabella relativamente piccola (1500 tuple). Quello che ho potuto constatare è che la differenza sostanziale sui tempi di calcolo è dovuta al fatto che quest'ultimo sia di tipo LEFT (come mi occorre) piuttosto che INNER. Se testo con l'INNER JOIN i tempi di calcolo si riducono notevolmente, ma i risultati (ridotti da quest'ulteriore filtraggio) ovviamente non sono quelli che mi occorrono. |
|||
| 14 Luglio, 2011 07:35 | #3 | ||
|---|---|---|---|
|
Ciao, per aiutarti ci devi postare la definizione delle tabelle e le query.. altrimenti non risuciamo ad aiutarti ciauz Un tempo ero algweb ora sono g2d |
|||
| 14 Luglio, 2011 09:34 | #4 | ||
|---|---|---|---|
|
mi accodo ad algweb nel consigliarti di postare anche la struttura delle tabelle per capire meglio la problematica, così su due piedi, senza conoscere la struttura potrei consigliarti, se non lo hai già fatto, di creare degli indici per i campi comuni alle due tabelle che metti in join, questo dovrebbe dare alla query una bella botta di vita. Salvatore DC La mente è come un paracadute: funziona solo se si apre. A.Einstein. |
|||
| 15 Luglio, 2011 09:39 | #5 | ||
|---|---|---|---|
|
Grazie per le risposte, riassumo le strutture: DB QUERY Grazie ancora, Serve altro?
Ultima modifica 15 Luglio, 2011 09:47 di g2d |
|||
| 15 Luglio, 2011 09:41 | #6 | ||
|---|---|---|---|
|
Immagine: |
|||
| 15 Luglio, 2011 12:57 | #7 | ||
|---|---|---|---|
|
I tre campi "id" presumo siano chiavi univoche autoincrement, giusto? Salvatore DC La mente è come un paracadute: funziona solo se si apre. A.Einstein. |
|||
| 15 Luglio, 2011 13:53 | #8 | ||
|---|---|---|---|
|
Sì, i campi "id" sono chiavi autoincrement. Per la creazione degli indici potresti, se non è troppo disturbo, indicarmi come e cosa fare...nel senso che ho sentito parlare spesso di indici ma nn so proprio da dove iniziare, che tipo di indici creare, come associarli a quei campi, di cosa necessitano ulteriormente e in che modo questi influiscano su tutto il resto del database... Penso abbiano anche qualche contro oltre ai pro, altrim sarebbero implementati di default, giusto? Grazie ancora per l'immensa disponibilità |
|||
| 18 Luglio, 2011 11:23 | #9 | ||
|---|---|---|---|
|
Beh... utilizzare un indice qualsiasi per una qualsiasi tabella significa per mysql che deve fare una cosa in più e registrare un dato in più per ogni record inserito... detta così può sembrare pesante ma ti posso assicurare che non lo è poiché il vantaggio di avere degli indici strutturati bene può influenzare in modo drastico la lettura di tabelle grandi o in join. Non so se usi un'interfaccia grafica per collegarti a mysql, io uso heidisql che è gratuito, da lì ci vuole poco, vai nelle proprietà della tabella dove hai la possibilità di creare un indice. Se devi farlo da riga di comando serve un pò di sintassi: http://dev.mysql.com/doc/refman/5.1/en/create-index.html Spero di esserti stato utile :) Salvatore DC La mente è come un paracadute: funziona solo se si apre. A.Einstein. |
|||
| 18 Luglio, 2011 12:31 | #10 | ||
|---|---|---|---|
|
Grazie Re-verse! uso un'interfaccia grafica quindi mi è facile crearli. Grazie ancora |
|||
Condividi su:
Loggati o Registrati per replicare