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.
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 -- michel@ziobuddalabs.it
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 adb_select
ma ha i suoi pro e i suoi contro.. riporto qualche link interessantePerchè utilizzare db_select
Perchè utilizzare EntityFieldQuery invece di db_select
Comparazione delle performance di db_query e db_select