la lettura del db con un'unica select migliora i tempi, ma di quanto ?all'interno della tabella traduzioni esiste il valore univoco 'saluto'
qui vedi i risultati di un tool Microsoft che ha misurato un eseguibile
l'eseguibile leggeva un record alla volta,
dopo la "ristrutturazione", la lettura è stata resa unica con delle join (credo sia una situazione diversa da quella proposta)
Microsoft PLIST Version 1.00
Profile: Function timing, sorted by time.
Program Statistics
Total time: 57542.664 milliseconds
Total functions: 29 <- numero delle funzioni presenti nell'eseguibile
tempo di preparazione : 48 sec <- lettura del db
tempo di ottimizzazione : 0 sec <- puro calcolo
tempo di memor.risultato : 5 sec <- scrittura del risultato nel db
tempo totale di elab.ne : 53 sec
Microsoft PLIST Version 1.00
Profile: Function timing, sorted by time.
Program Statistics
Total time: 19592.594 milliseconds
Total functions: 33
tempo di preparazione : 14 sec
tempo di ottimizzazione : 0 sec
tempo di memor.risultato : 3 sec
tempo totale di elab.ne : 17 sec
la differenza è notevole, l'analisi è stata fatta con una macchina vecchia a basse prestazioni che ha messo in luce la forte diversità
bisogna comunque tenere conto di altri fattori,
la colonna del valore univoco 'saluto' deve essere indicizzata e l'indice deve poter essere sfruttato nella ricerca
la ricerca deve essere fatta sul valore compiuto e non con "like"
la macchina che gestisce il db, (in particolare i dischi) dovrebbe essere molto "veloce" e non avere carichi che possono ridurre le prestazioni
si dovrebbero utilizzare tool di analisi delle query per ottenere suggerimenti sulla miglior indicizzazione del db
in casa Microsoft "Database Engine Tuning Advisor"
in ogni caso, si, la lettura unica migliora le prestazioni,
le macchine moderne potrebbero nascondere questi miglioramenti, vedi dischi a stato solido
nel caso facessi delle prove, ricordati di riavviare il "motore" del database per evitare la cache