db_query vs db_select

4 contenuti / 0 new
Ultimo contenuto
db_query vs db_select

Ciao all, secondo voi questa query:

select * from message m
     * join field_data_field_er_creazione c on c.entity_id = m.mid
     * join node n on n.nid = c.field_er_creazione_target_id and n.status = 1 and n.uid = 1
     * where m.type = 'nuovo_commento_su_creazione' and m.uid != 1 and m.timestamp > 1421664907

è più veloce in db_query o in db_select ?

Ho letto un po' in giro e molto spesso viene "detto" che db_query è più veloce di db_select, ovviamente non avendo query che devono essere modificate via hook (come nel mio caso).

Che db_query sia la versione "vecchia" di fare le query a me non interessa, a me serve che il sito sia "veloce" e se per esserlo devo usare la "versione vecchia" allora ben venga la versione vecchia.

Non riesco a fare delle prove sulle due "modalità" perché il portale è in costruzione e quindi non vi è una mole di dati che mi permetta di scegliere quella migliore.

Grazie a tutti.

M.

Drupal Version:

Meggis (non verificato)
Ritratto di Anonimo

Un guru come te - che fa lo speaker ai corsi drupal - dovrebbe saperlo o almeno mettere il devel module (utilizzare i normali strumenti dello sviluppatore...) e vedere le risorse che occupa...

Una query del genere su un numero piccolo di dati non potrà mai dire nulla con nessun modulo di sviluppatore. Io chiedevo a chi ci era già passato...

M.

--
Michel 'ZioBudda' Morelli -- [email protected]
Sviluppo applicazioni CMS DRUPAL e web dinamiche -- Corsi Drupal -- Amministrazione Drupal -- Hosting Drupal

Probabilmente db_query è leggermente più veloce e leggero in termini di memoria rispetto a db_select ma ha i suoi pro e i suoi contro.. riporto qualche link interessante

Perchè utilizzare db_select
Perchè utilizzare EntityFieldQuery invece di db_select
Comparazione delle performance di db_query e db_select