Visualizzazione dei risultati da 1 a 5 su 5
  1. #1
    Utente di HTML.it L'avatar di Lanus
    Registrato dal
    Apr 2006
    Messaggi
    43

    Più veloce Include() o query a mysql?

    Il forum MyBB salva tutti i template su tabelle mysql ed al caricamento della pagina per ogni utente fa una serie di query al database per recuperarli. Ora, dovendo modificare la struttura stessa (non solo l'estetica diciamo) di alcune parti del forum ed avendo quindi la possibilità di cambiare questo sistema, non mi converrebbe (in termini di prestazioni) porre i template su dei file da includere con la funzione include() o leggerli con il sistema di I/O su file?
    Considerando anche il fatto che questo sistema non sfrutta in nessun modo le potenzialità del database (possibilità di fare query su misura etc.) perchè per ogni utente viene formulata sempre la stessa query, a cui viene data sempre la stessa risposta. Inoltre su questi file template non c'è scritto niente che vada protetto. Qual è il motivo che ha spinto i programmatori di MyBB (che ritengo essere abili) a scegliere di salvare il tutto su database? Sarà solo per la malleabilità del tutto che viene concessa all'amministratore del forum?

  2. #2
    l'include di un file è decisamente più veloce di una query, probabilmente anche un file_get_contents (se per "leggerli con sistemi I/O" intendevi quello)

    perchè poi in myBB abbiano scelto il db, non saprei proprio, in realtà non ho neanche ben capito di cosa tu stia parlando me pare strano che i template (css/pagine html/header/footer/etc) siano stati messi in un db..bu
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  3. #3
    Mi sembra più che logico che un INCLUDE è molto più veloce di una chiamata al database...ma sei sicuro che i dati del template sono salvati nel database?? Non ho mai visto una cosa del genere.

  4. #4
    Utente di HTML.it L'avatar di Lanus
    Registrato dal
    Apr 2006
    Messaggi
    43
    grazie per le risposte!
    riguardo al template sono sicuro che funzioni così. Nella cartella di installazione è presente un file xml con tutti i template e vengono salvati su database. Ogni volta che un utente carica una pagina viene eseguita una query per recuperare i codici html di quella specifica pagina (i css sono gestiti in maniera diversa, ma devo ancora capire come funzionano).

    Ora ho un altro problema: ho pensato di mettere ogni template in un file (rispettando l'organizzazione attuale di mybb, quindi un file per l'header, uno per il footer, etc...). Solo che così facendo sarei costretto ad utilizzare molte volte la funzione file_get_contents, e allora non so quanto sia più veloce utilizzare 10 volte questa funzione rispetto a fare una singola chiamata al db. L'alternativa più veloce sarebbe includere un solo file php nel quale sono specificati tutti i template necessari ed ognuno è associato ad una variabile... però mi sembra una soluzione poco elegante e abbastanza scomoda per un grafico che si trovasse a modificare il template. Mi sapreste dare qualche suggerimento per mantenere i file template "puliti" e allo stesso tempo mantenere alte le prestazioni?

  5. #5
    Utente di HTML.it
    Registrato dal
    Apr 2011
    Messaggi
    27
    di solito i CMS sono basati su framework, i framework fanno gli "include" leggendo la url ovvero avendo una struttura a cartelle modulari sanno per esempio che pippo.com/blog/comments deve caricare il controller "blog" (script) blog e la view comments (html)

    detto in maniera orrida

    e ovviamente se devi scegliere fra un include e una query, include tutta la vita, le query devono sempre instanziare una connessione al database

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.