Quale il seguito approcci è più efficiente:Più piccole query rispetto a una singola query lunga. Qual è più efficiente?
singola query più:
"SELECT COUNT(*) AS num FROM ( SELECT users.UID, cnumber FROM users JOIN identity ON users.UID = identity.UID WHERE 'abc' IN (google, facebook, twitter, linkedin) ) AS userfound JOIN jobs ON userfound.cnumber = jobs.cnumber WHERE JID = 24"; if(resultfromquery == 1) //Some code here else //Some code here
Rompere la query più in più singoli query di tabella:
uid = "SELECT UID FROM identity WHERE 'abc' IN (google, facebook, twitter, linkedin)"; cnumber_from_usertable = "SELECT cnumber FROM users WHERE UID = 'uid'"; cnumber_from_jobtable = "SELECT cnumber FROM jobs WHERE JID = 24"; if(cnumber_from_usertable == cnumber_from_jobtable) //Some code here else //Some code here
Cosa hai osservato quando l'hai provato? – symcbean
C'è un overhead notevole per eseguire solo una query. Quindi facendo piccole query ha quel sovraccarico più volte. A meno che la tua query di grandi dimensioni non sia abbastanza efficiente, sarà più efficiente di molte piccole query. Con il tuo esempio qui la differenza è probabilmente minuscola, ma dove diventa molto evidente è quando esegui un ciclo intorno ai risultati di una query ed esegui un'altra query per ogni risultato. – Kickstart
Sì, esattamente. Il DB è praticamente vuoto. Non c'è praticamente alcuna differenza tra i due, al momento. Quindi, ho due menti su quale andare con. –