Corsi on-line

Rails: problemi di prestazioni con le IN() subquery

Se sviluppate applicazioni tramite Rails e queste interagiscono con una base di dati gestita tramite MySQL, in alcuni casi potreste aver osservato dei decrementi, anche drastici, nel livello delle prestazioni; i fattori che influenzano le performances possono essere direttamente ricollegati alla struttura dell’applicazione, oppure dipendere dalle interrogazioni utilizzate.

Parlo in particolare delle subquery basate sulla clausola IN(), così come di quelle basate su NOT IN(), queste possono dare origine a rallentamenti anche importanti; nello specifico non mi riferisco a le interrogazioni che contengono:

IN(valore_1,valore_2, valore_3,...)

ma a quelle basate su:

IN(SELECT…)

così come su:

NOT IN(SELECT…)

Per questo motivo è meglio utilizzare JOIN ae LEFT OUTER JOIN per scongiurare eventuali problemi relativi al decremento nel livello delle prestazioni.

Post correlati
I più letti del mese
Tematiche