Visualizzazione dei risultati da 1 a 8 su 8
  1. #1
    Utente di HTML.it L'avatar di reiziel
    Registrato dal
    Jun 2007
    Messaggi
    144

    Memorizzazione dati e scrittura mysql a orario fisso

    Sto realizzando un progetto e la mia necessità mi porta a economizzare sulle query,

    Volevo chiedere ai più esperti qualche dritta per realizzare uno script in grado di memorizzare dati per ogni singolo utente loggato al sito web, senza l'uso del db mysql , ma tenendoli "a portata di mano" per 10-20 minuti con la possibilità di essere aggiornati
    e dopodiche effettuare un cronjob svuotando la simulazione di database inviando 1 sola query per utente al database reale


    Ad esempio ho provato con array caricati con include ma il dobbio è quale sia più pesante tra una query oppure un fileopen/fileread
    Silence please work in progress

  2. #2
    Estensioni mysqli e utilizzo di mysqli_multi_query().
    Salvi le query da eseguire in un file di testo, che al tempo stabilito leggi "d'un botto" e mandi al multi_query, ovviamente svuotandolo subito.
    salvi la query
    salvi la query
    salvi la query
    salvi la query
    leggi il file
    prendi il contenuto e lo metti in una normale stringa
    svuoti il file
    salvi la query
    salvi la query
    esegui il multi_query
    salvi la query
    salvi la query
    leggi il file
    eccetera.
    L'unico punto di possibile errore si verifica se, mentre stai leggendo il contenuto del file, ci viene accodata una nuova query (o più) che teoricamente potresti quindi perderti, ma si può risolvere anche questo con un lock del file o altre tecniche.


  3. #3
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221

    Re: Memorizzazione dati e scrittura mysql a orario fisso

    Originariamente inviato da reiziel
    Ad esempio ho provato con array caricati con include ma il dobbio è quale sia più pesante tra una query oppure un fileopen/fileread
    Non avere paura di eseguire le query, se hai un problema di tempistiche peroccupati invece di ottimizzare il DB, i DB sono fatti per eseguire query, certo se non sono indispensabili vanno evitate, ma accumularle per poi eseguirle tutte insieme non ha senso e ti complica inutilmente la vita.

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

  4. #4

    Re: Memorizzazione dati e scrittura mysql a orario fisso

    Originariamente inviato da reiziel
    Sto realizzando un progetto e la mia necessità mi porta a economizzare sulle query,

    Volevo chiedere ai più esperti qualche dritta per realizzare uno script in grado di memorizzare dati per ogni singolo utente loggato al sito web, senza l'uso del db mysql , ma tenendoli "a portata di mano" per 10-20 minuti con la possibilità di essere aggiornati
    e dopodiche effettuare un cronjob svuotando la simulazione di database inviando 1 sola query per utente al database reale


    Ad esempio ho provato con array caricati con include ma il dobbio è quale sia più pesante tra una query oppure un fileopen/fileread
    Tutto questo giro e' sicuramente piu' pesante che eseguire le query direttamente.

  5. #5
    Utente di HTML.it L'avatar di reiziel
    Registrato dal
    Jun 2007
    Messaggi
    144
    bho forse mi sfugge qualcosa ma siti come facebook come riescono a effettuare cosi tante query, secondo la mia stima un utente che naviga su fb in 30 minuti può effettuare anche 50+ query, calcolando i milioni di utenti come riesce a mantenere up i server

    lessi che nel 2008 dichiararono di possedere 10.000 server di cui 1800 mysql

    altri mi dicono che hanno una versione diversa di mysql molto più evoluta ed economica.

    Oppure prendendo ad esempio programmi-siti di poker online che salvano ogni mano di ogni tavolo e assegnano a ogni mano dei punti , che si aggiornano periodicamente ogni 30 minuti all'incirca.

    Ho pensato che ci sia qualche soluzione per economizzare nelle query, salvando questi dati in modo più economico.
    Silence please work in progress

  6. #6
    Utente di HTML.it L'avatar di las
    Registrato dal
    Apr 2002
    Messaggi
    1,221
    Originariamente inviato da reiziel
    altri mi dicono che hanno una versione diversa di mysql molto più evoluta ed economica.
    esiste qualcosa più economico del gratuito?? che fanno, ti pagano per usarla??

    a parte gli scerzi, i DB sono fatti per fare query, come hai detto tu siti ad alto traffico hanno molti server per dividere il carico di lavoro, ma in ogni caso quello che fanno è fare query niente di più.

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

  7. #7
    Originariamente inviato da reiziel
    Ho pensato che ci sia qualche soluzione per economizzare nelle query, salvando questi dati in modo più economico.
    Cosa ti fa pensare che metodi alternativi di salvare i dati siano piu' economici? I database sono ottimizzati per trattare dati (non si chiamano database per caso), se ci fossero sistemi migliori tutti userebbero quelli e nessuno userebbe i DB.

  8. #8
    Guarda, un mio server, che ha un sito molto frequentato, esegue 29.955 k query l'ora. Ok, è un 8 core con 24 Gb di ram ed è ben ottimizzato, ma anche col numero massimo di utenti contemporanei (ovvero circa 2000) non è mai andato oltre il 2 di carico.
    Questo è giusto per dire che MySql, come la maggiorparte dei db server, svolge egregiamente il suo lavoro, ovvero appunto eseguire query.

    Quando ti ho suggerito quel metodo con i file di testo, è perchè ho pensato che avessi qualche problema di performance dovuto al tipo di server opure problemi di limiti sulle query che spesso i provider applicano.


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.