2009-12-14 20 views
5

Ho tre tabelle in un'applicazione e ho bisogno di eseguire una query che le unisce tutte e tre su base regolare. È probabile che tutte e tre queste tabelle vengano aggiornate spesso.Utilizzo di viste MySQL nelle applicazioni PHP

Sto considerando di utilizzare una vista per evitare di dover utilizzare la sintassi di join dettagliata in diversi punti all'interno del mio codice. Questa sarebbe un'opzione adatta? Non ho mai utilizzato le visualizzazioni in un'applicazione su larga scala e non sono sicuro degli effetti che avranno sulle prestazioni (positive o negative).

Qualsiasi consiglio sarebbe molto apprezzato.

Grazie.

risposta

2

In MySQL una vista viene generalmente eseguita solo quando è richiesta, quindi è quasi la stessa come scrivere la query jong o eseguire una query sulla vista, quindi nella mia esperienza non si dovrebbero riscontrare problemi di prestazioni a patto che il anche la query di join è veloce.

1

Le visualizzazioni di MySQL sono relativamente nuove, ma a mio parere sarebbe un'opzione adatta. Verifica la tua query anteponendo la query a EXPLAIN.

0

L'utilizzo di una vista del database per eliminare la replica del codice non sembra la cosa giusta da fare. Dovresti invece considerare il refactoring del tuo codice.

Fare come suggerito significherebbe comunque replicare la chiamata alla vista più volte nel codice. Che è una cattiva pratica IMHO.

+0

Scusa, non intendevo esattamente la stessa cosa, solo simile. Ci saranno alcune variazioni e userò semplicemente le clausole WHERE per filtrare ciò che ottengo. – Dan

+0

Oh, allora la mia risposta non ti è utile, comunque la lascio comunque. –

Problemi correlati