Fai tutto lato MySQL!
Ad ogni modo quanto impiega la query ad essere eseguita che senti la necessità di ottimizzarla?
Fai tutto lato MySQL!
Ad ogni modo quanto impiega la query ad essere eseguita che senti la necessità di ottimizzarla?
ricerca con: ..WHERE tab_x.nome LIKE '%stringa%' GROUP BY tab.id ORDER BY tab.id: 0,6086 secondi
ricerca con: .. WHERE tab_x.nome LIKE '%stringa%' : 0,4731 secondi
risultati letti da PhpMyAdmin.
Se ricerco con:
WHERE tab_x.nome=LIKE 'stringa%' GROUP BY tab.id ORDER BY tab.id
oppure con:
WHERE tab_x.nome='stringa' GROUP BY tab.id ORDER BY tab.id
la velocità della query torna vicino a 0,0055 secondi
Ovvio, cerco di utilizzare le ricerche LIKE '%stringa%' (per i problemi di ricerca con indice btree sul campo tab_x.nome) solo quando necessario, ma se l'utente vuole, può scegliere anche questo tipo di ricerca.
La select fa delle JOIN tra 4 tabelle e delle LEFT JOIN su altre 3 tabelle
Tabelle innodb, con foreign key ove necessario, indici su tutti i campi di ricerca e sui campi oggetto di join.
dimensione media delle 7 tabelle: 20mila righe ognuna.
aquatimer2000