Visualizzazione dei risultati da 1 a 9 su 9
  1. #1
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81

    le query che appesantiscono il server

    Ciao a tutti, forse l'argomento interessa anche la sezione dedicata ai servers: leggo spesso che gli amministratori del server spesso lamentano sovraccarichi a causa di implementazioni errate da parte di coders magari poco efferati.
    Personalmente ho l'idea che il carico di lavoro eccessivo al server dipenda il più delle volte da db disegnati male e/o da query troppo sbrigative.

    In ottica di risparmio risorse, una serie di domande:

    1) L'engine MyIsam è da preferirsi all'engine InnoDb nel caso avessimo molte tabelle in relazione tra loro e talune ricche di colonne e righe?

    2) Per necessità a volte è necessario avere una tabella con un considerevole numero di colonne, molto popolata e con tantissime righe di records.
    In un caso come questo qual è la soluzione migliore tra:
    un'unica query (SELECT * FRIOM table1) da gestire poi a livello di codice sfiorando la follia, oppure tante piccole query mirate (SELECT column1, column2, column18 FROM table1) da gestire poi in una classe di metodi?

    3) C'è un numero di colonne cui è meglio non superare mai?

    4) Altri tricks da praticare abitualmente e pratiche invece da evitare assolutamente?

    grazie

  2. #2
    2) molto molto meglio indicare nelle SELECT solo le colonne che servono

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81
    Originariamente inviato da optime
    2) molto molto meglio indicare nelle SELECT solo le colonne che servono
    Anche se le query sono tante? Mettiamo caso che (dico a caso), per compilare una scheda di un prodotto invoco una classe che esegue almeno 40 query, tutte che pescano da max 3 colonne: questo può appesantire di molto il server?

  4. #4
    è come se ti chiedessero di portare TUTTI gli attrezzi di un'officina, e poi usano solo un giravite e una pinza! tu cosa diresti a chi ti ha dato l'ordine? "cacchio, se me lo dicevi avrei portato solo quei due pezzi e mi sarei risparmiato la fatica". con la SELECT è lo stesso discorso

  5. #5

    Re: le query che appesantiscono il server

    Originariamente inviato da ilsangue
    1) L'engine MyIsam è da preferirsi all'engine InnoDb nel caso avessimo molte tabelle in relazione tra loro e talune ricche di colonne e righe?
    non basta per stabilire il tipo di engine da usare...

    alcune cose che potresti controllare sono :
    - hai bisogno di gestire le transazioni?
    - hai bisogno di gestire il data integrity?
    - farai tante insert e update o tante select?

    La risposta a queste domande puo influenzare la scelta dell engine

    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

  6. #6
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81
    Originariamente inviato da optime
    è come se ti chiedessero di portare TUTTI gli attrezzi di un'officina, e poi usano solo un giravite e una pinza! tu cosa diresti a chi ti ha dato l'ordine? "cacchio, se me lo dicevi avrei portato solo quei due pezzi e mi sarei risparmiato la fatica". con la SELECT è lo stesso discorso
    Quindi il numero di query non è un problema; lo è di più se la query seleziona tutte le settordicimillemila colonne. Pensa che ho trovato datori di lavoro che esigevano ci fosse nel sistema un'unica query

  7. #7
    Originariamente inviato da ilsangue
    Pensa che ho trovato datori di lavoro che esigevano ci fosse nel sistema un'unica query
    e ancora ne troverai!

  8. #8
    Utente di HTML.it
    Registrato dal
    Oct 2008
    Messaggi
    81

    Re: Re: le query che appesantiscono il server

    Originariamente inviato da bomberdini
    non basta per stabilire il tipo di engine da usare...

    alcune cose che potresti controllare sono :
    - hai bisogno di gestire le transazioni?
    - hai bisogno di gestire il data integrity?
    - farai tante insert e update o tante select?

    La risposta a queste domande puo influenzare la scelta dell engine

    - hai bisogno di gestire le transazioni?
    Presumo che il migliore sia InnoDb grazie alla gestione del rollback
    - hai bisogno di gestire il data integrity?
    Presumo che il migliore sia InnoDb per lo stesso motivo
    - farai tante insert e update o tante select?
    Presumo che il migliore sia MyIsam

    Giusto?

  9. #9

    Re: Re: Re: le query che appesantiscono il server

    Originariamente inviato da ilsangue
    - hai bisogno di gestire le transazioni?
    Presumo che il migliore sia InnoDb grazie alla gestione del rollback
    giusto
    - hai bisogno di gestire il data integrity?
    Presumo che il migliore sia InnoDb per lo stesso motivo
    giusto
    - farai tante insert e update o tante select?
    Presumo che il migliore sia MyIsam
    Sbagliato... se fai tante INSERT E UPDATE meglio Innodb perche' ce il row level lock

    se fai tante SELECT meglio MYIsam.
    Non si può risolvere un problema usando lo stesso modo di pensare che ha creato quel problema.
    Albert Einstein

    Siate Affamati, siate Folli, siate Onesti e siate Generosi

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.