Visualizzazione dei risultati da 1 a 7 su 7
  1. #1
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460

    [MySql] Grandezza tabella e rallentamenti

    Avendo a che fare con tabelle molto grosse (qualche milione di campo) esiste una sorta di proporzione per calcolare di quanto rallenta una query MySql ?

    Per esempio per una "SELECT campo FROM tabella WHERE id='xx' AND campo2='yy';" è possibile calcolare quanto rallenterà in tabelle di milioni di campi rispetto a tabelle di qualche migliaio di campo ?

  2. #2
    IN che senso quanto rallenterà ???

    l'execution time lo puoi vedere gia da mysql quanto ci mette

    Oppure usa il microtime del php per calcolarlo

  3. #3
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Per una query cosi' semplice, se i campi sono indicizzati opportunamente hai un costo di poco maggiore per accedere all'indice e un costo identico per leggere il record in se'. Non e' trascurabile, ma quasi. Certamente, gli indici costano quando fai degli inserimenti.

    In ogni caso, non esiste certamente un criterio proporzionale di alcun tipo: devi fare una analisi del costo degli accessi fissate le query e gli indici, essenzialmente campo dell'ingegneria informatica o pari livello di istruzione.
    There are 10 types of people in the world - those who understand binary and those who don't.

  4. #4
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Quando bisogna fare diversi milioni di insert o update è meglio:
    creare sin dall'inizio gli indici o creare alla fine degli inserimenti gli indici ?

  5. #5
    Utente di HTML.it
    Registrato dal
    Sep 2002
    Messaggi
    460
    Se devi fare un inserimento unico di milioni di record, ovviamente conviene creare gli indici a posteriori, altrimenti per ogni inserimento bisogna ricalcolare il bilanciamento dell'albero dell'indice e questo puo' pesare moltissimo.
    There are 10 types of people in the world - those who understand binary and those who don't.

  6. #6
    Utente di HTML.it
    Registrato dal
    Nov 2002
    Messaggi
    2,460
    Io ho una tabella tipo:

    id - valore1 - valore2 - peso

    Se la coppia valore1-valore2 esiste già nella tabella faccio un update incrementando di 1 peso, altrimenti inserisco il campo nuovo..

    Per fare questo faccio:
    select count(*) from tabella where valore1=xx and valore2=xx;

    se la select è uguale a 0 faccio la insert, altrimenti faccio l'update..

    In questo caso, visto che devo anche fare una selezione e l'indice in teoria velocizza il tutto, cosa mi conviene fare ?

  7. #7
    crea gli indici
    la velocizzi di tanto

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.