Salve,
Faccio un esempio banale per farvi capire di cosa sto parlando...
partendo dal presupposto che ho bisogno di ottimizare al massimo il tempo di esecuzione delle query sul db mysql vi presento due scenari possibili.
Avrei bisogno di sapere quale secondo voi è più idoneo ad ottenere migliori perfomance nel tempo di esecuzione delle query (ipotizzando che nel db ci siano migliaia e migliaia di record)
ho una tabella news ed una tabella video con i video(n) allegati ad ogni news.
Prima possibilità
Tabella "news"
-id
-titolo
tabella "video"
-id
-idnews
-nomevideo
Codice PHP:
join tra tabella news e tabella video
c'è uno spreco di risorse nell'eseguire la join su tutte le news, ipotizzando che ad esempio solo il 20% di news abbia dei video allegati?
Secondapossibilità
Tabella "news"
-id
-titolo
-presenzavideo
tabella "video"
-id
-idnews
-nomevideo
Codice PHP:
seleziono tutte le news
se news.presenzavideo=1 allora
seleziono i video della news
Ha senso aggiungere il campo "presenzavideo" nella tabella news così da andarmi a richiamare i video allegati alla news con una ulteriore query evitando di fare il join tra le due tabelle?
ripeto che ovviamente queste considerazioni sarebbero da applicare ad un ipotetico database con un numero elevatissimo di record.
grazie
Ciao