Ho una query del tipo:
Codice PHP:
SELECT * FROM a
INNER JOIN b ON a.x = b.x AND a.y = b.y AND a.z = 'z'
;
prendendo un esempio pratico in un caso impiega 0.10" ca. per 21 righe di risultato.
Devo incrociarla con una terza tabella, tipo:
Codice PHP:
SELECT * FROM a
INNER JOIN b ON a.x = b.x AND a.y = b.y AND a.z = 'z'
INNER JOIN c ON b.t = c.t
;
nel caso di cui sopra impiega 40.20" ca. per 8 righe di risultato!
Variando l'ordine e l'accorpamento dei JOIN non cambia di molto. Se invece faccio la prima SELECT salvando il risultato e poi la seconda SELECT incrociando tale risultato con la terza tabella resto nell'ordine di tempo di 0.15" ca.
Il problema è che per salvare il risultato devo fare una gestione particolare in quanto il DB è interrogato da n persone, dunque bisogna stare attenti ai conflitti.
Se qualcuno ha avuto a che fare con JOIN multipli mi piacerebbe sentire un consiglio.
DBMS di riferimento: MySQL 3.23 (non supporta roba tipo SELECT * FROM (SELECT...), altrimenti era tutto più semplice...)
Grazie.