Ho visto curricula con questa nota:
"Costruzione di query complesse".... e capirai!
Senti questa, mi è accaduta venerdì scorso.
L'utente rompe i marroni con una procedura che è estremamente lenta (circa 40 minuti). Spulcio un pò e mi accorgo che il problema è in una Stored Procedure (PL / SQL). La prima cosa che mi salta agli occhi è una SELECT COUNT(*), con diverse condizioni e altrettante join, su una tabella con almeno tre o quattro milioni di record.
Chiamo l'autore della stored procedure (Neo Laureato in informatica al primo progetto vero) e gli chiedo il motivo di quella select count.
Mi risponde: se esistono record che rispondono a quelle condizioni devo fare delle cose altrimenti devo farne altre.
Tubarao: quindi non ti serve sapere esattamente quanti record soddisfano quelle condizioni, ti serve solo sapere se ne esiste almeno uno o nessuno, giusto ?
Junior: si, è proprio così.
Tubarao: e allora perchè minchia li conti tutti ? Fai una SELECT TOP 1 (select che si ferma appena trova il primo record che soddisfa le condizioni) e il gioco è fatto.
Risultato ? Da 40 minuti a non più di tre.
Ora, il problema non è il Neo Lauerato che non conosce la SELECT TOP 1, il problema è il Neo Laureato come Andy, che da quanto ho capito non ha ancora mai partecipato a progetti grandi, che ha la pesunzione di dire che il C++ nel mondo del lavoro non si usa. E' l'atteggiamento con il quale questi si affacciano al mondo del lavoro.