Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 15
  1. #1
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592

    ottimizzo-risparmio di query per un menu - credo per esperti

    Ho un menu, che prende da DB i dati con una join: categorie - sottocategorie.
    Il menu è in ogni pagina del sito, quindi ogni pagina faccio la query. ed è ok..
    ma..
    mi piacerebbe che la query (almeno del menu) non la facesse sempre, ma ad esempio solo nel caso in cui non l'avesse mai fatta.. e fino a qua posso lavorare con le sessioni, nessun problema..
    ma..
    se l'admin aggiunge una voce e l'utente è già dentro, ovviamente il sistema se la perde, perchè in sessione ci sono i dati e non fa la query.

    La domanda a questo punto è:
    L'unico modo, e in parte mi rispondo da solo, è far scrivere su un file il menu? e ogni volta che si aggiorna ricrea il menu? non esiste un altro modo, non interrogando il DB?

    grazie in anticipo a tutti quelli che mi aiuteranno..

  2. #2
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    direi che hai escluso tutto:

    non vuoi mettere il menu in sessione
    non vuoi interrogare il DB
    non vuoi mettere il menu in una pagina da includere

    .... mi sa che ti rimane solo una possibilità: fare un sito con un unica gigantesca pagina .... così non hai il menu

    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  3. #3
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592
    hi, hi, hi...
    magari qualcuno ha trovato l'uovo di colombo e me lo dice..
    ora come ora ho il menu in un include con chiamata al DB.. facile per carità, però su domini che hanno un tot di query l'ora e un traffico decente, ti segano dopo poco..

    vada per il sito in una pagina, se nessun altro dice la sua!!

  4. #4
    Originariamente inviato da telegio
    però su domini che hanno un tot di query l'ora e un traffico decente, ti segano dopo poco..
    spendiamoli 30 euro per un host senza limitazioni

    scrivi il menu su un file e includi il file nelle pagine...
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  5. #5
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    La butto lì, poi vedi tu:

    Supponi di avere sul tuo server un file di testo chiamato up.txt contenente un numero da 0 a n.
    Possiamo distinguere 3 casi:

    1)L'utente accede per la prima volta a una pagina
    2)L'utente sta già navigando nel sito
    3)L'admin ha applicato delle modifiche

    Caso 1.
    Lo script carica il numerino dal file controlla se lo ha memorizzato in sessione. Se non lo ha lo mette in sessione e carica i dati dal DB riportandoli in sessione.
    (Il numerino sarà una sorta di versione dei dati caricati dal DB)

    Caso 2.
    L'utente visita una pagina successiva alla prima. Legge il solito numerino dal file e se è uguale a quello in sessione prende i dati dalla sessione altrimenti aggiorna il numerino in sessione e ricarica dal DB

    Caso 3.
    L'admin applica delle modifiche e incrementa il numerino e lo salva nel file. In questo modo alla prossima pagina caricata da qualunque utente il dati vengono ricaricati da DB.

    Nel caso specifico del menu uno pseudo codice potrebbe essere
    codice:
    se(non esiste file up.txt)
        crea file memorizzandoci 0
    
    num=leggi numerino da up.txt
    
    se(esiste sessione[numerino] e sessione[numerino]==num)
        Carica da Sessione il Menu
    altrimenti
        sessione[numerino]=num
        Carica da DB il menu mettendolo in Sessione
    Ovviamente devi scrive il codice che incrementi il numerino nel file quando l'admin effettua delle operazioni sui dati del menu.

    In questo modo puoi mantenere la tua strutture nel DB, pur non interrogando il DB per ricaricare sempre la stessa struttura, che custodirai in sessione. Quando fai delle modifiche i client operativi provvedono a ricaricare la struttura dal DB essendo cambiato il numero di varsione.

    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  6. #6
    Utente di HTML.it L'avatar di Grino
    Registrato dal
    Oct 2004
    Messaggi
    739
    Oppure spendi i € 30...
    che non è una idea sbagliata
    Siamo sempre troppo gelosi delle nostre grandi piccole opere! - Grino inedito.
    Lavori e Lavoretti

  7. #7
    Utente di HTML.it L'avatar di telegio
    Registrato dal
    Sep 2001
    Messaggi
    2,592

    io non compro domini su hosting che limitano le query.. ne facevo un discorso generale..

    l'idea di grino mi sembra ottima..

    quello che a questo punto sarebbe interessante sapere è se conviene fare questo giochetto, o se conviene avere magari anche per solo 2-300 byte tante query per questo menu..

    grazie comunque finora delle risposte..

  8. #8
    Originariamente inviato da telegio

    io non compro domini su hosting che limitano le query.. ne facevo un discorso generale..

    l'idea di grino mi sembra ottima..

    quello che a questo punto sarebbe interessante sapere è se conviene fare questo giochetto, o se conviene avere magari anche per solo 2-300 byte tante query per questo menu..

    grazie comunque finora delle risposte..

    troppe query per singolo utente non va bene... una via di mezzo tra tante query e file di testo, si
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

  9. #9
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    scusate, ma cosa c'è di male nell'includere 'menu.php' in tutte le pagine?
    Il calcolatore è straordinariamente veloce, accurato e stupido.
    L'uomo è incredibilmente lento, impreciso e creativo.
    L'insieme dei due costituisce una forza incalcolabile.
    (Albert Einstein)

  10. #10
    Originariamente inviato da las
    scusate, ma cosa c'è di male nell'includere 'menu.php' in tutte le pagine?
    non mi pare che qualcuno abbia detto di no a questa ipotesi. Ci si interrogava se menu.php dovesse:

    - fare millle milioni di query al db ogni volta
    - contenere un html generato dal programma ogni volta che l'amministratore del sito modificava il menu da pannello di controllo
    IP-PBX management: http://www.easypbx.it

    Old account: 2126 messages
    Oldest account: 3559 messages

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 © 2024 vBulletin Solutions, Inc. All rights reserved.