Ciao a tutti, ho una pagina php che interroga un database MySQL.
La struttura del sito è : windows server 2008R2, IIS7 e database MySQL.
Il database è di tipo referenziale, cioè :
la tabella primaria è composta dalle referenze alle tabelle secondarie..
La query cioè non restituirà "FIAT ROSSA", ma "2,3" poi sarà necessario andare nella tabella auto per "tradurre" . Il "2" della tabella principale corrisponde (ID) a "FIAT" e il "3" al colore rosso.
Il mio database è composto dalla tabella principale + 10 tabelle secondarie.
Ora, per "tradurre" le query vedo 2 metodi, via array o via query :
via array
Carico le tabelle secondarie su altrettanti vettori.
Eseguo la query principale.
Traduco il risultato "via codice" confrontando ogni campo con il vettore della tabella corrispondente.
Carico per il Db : 10 query (tabelle secondarie) + 1 query principale
uso le tabelle anche per riempire i comboBox dei filtri interfaccia utente per le query.
Aumenta il carico per il sistema: vettori, memoria, CPU, etc.
via query
eseguo query per riempire i comboBox dei filtri interfaccia utente
Eseguo la query principale.
Traduco ogni campo del risultato attraverso una query e la tabella relativa
Carico per il Db :query per interfaccia + 1 query principale + 10 query (x ogni riga del risultato)codice:"SELECT * FROM AUTO where ID=$rif" "SELECT * FROM COLORE where ID=$rif"
Minore carico sul sistema, credo.
Ovviamente al momento non noto differenze trale due soluzioni, ma credo che con un numero di utenti elevato (non so quantificarlo), ci saranno differenti prestazioni.
Qualche consiglio ?
grazie.

Rispondi quotando