Pagina 1 di 2 1 2 ultimoultimo
Visualizzazione dei risultati da 1 a 10 su 13
  1. #1
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805

    risalire al tipo di dimensione del database e quante tabelle contiene

    salve ragazzi mi servirebbe sapere come calcolare il peso in bites del database mysql ed il numero di tabelle sapreste consigliarmi cosa fare? grazie
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Con mysql 5 è semplicissimo

    codice:
    select count(table_name) as num_tabelle,
    sum(data_length+index_length) as dimensione
    from INFORMATION_SCHEMA.TABLES
    where table_schema = 'nome_database'
    Con mysql < 5 puoi fare

    show table status from nome_database

    e tramite php contare i record e sommare ugualmente i campi Data_length e Index_length

  3. #3
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    grazie io avrei trovato questo script pero m interesserebbe sapere anche il numero di tabelle
    Codice PHP:


      $db_usr
    ="root";
      
    $db_pwd="maurizio";
      
    $db_host="localhost";


    $db mysql_connect($db_host$db_usr$db_pwd) or die ("Connessione non riuscita\n");
    mysql_select_db($tdb$db);


    // questa è la funzione che calcola il peso del db
    function getdbsize($tdb) {
      
      
    $sql_result "SHOW TABLE STATUS FROM " .$tdb;
       
    $result mysql_query($sql_result);
       if(
    $result) {
           
    $size 0;
           while (
    $data mysql_fetch_array($result)) {
                
    $size $size $data["Data_length"] + $data["Index_length"];
         }
           return 
    $size;
       }else {
           return 
    FALSE;
       }
    }

    $tmp getdbsize("pippo");
    if (!
    $tmp) { echo "ERROR!"; }
     else { echo 
    number_format ($tmp,"","",".")." Bytes"; } 
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    basta che conti le righe della query show table status

    $tabelle = mysql_num_rows($sql_result);

  5. #5
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    grazie nicola sei stato gentilissimo , ascolta ti volevo chiedere te ne intendi di sessioni ? dovrei salvare le sessioni del login per risalire a chi e online e sto esaurendo ho guardato sul sito ufficiale di php ma niente di utile
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  6. #6
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Rileggendo meglio lo script che hai postato in realtà la query corretta sarebbe

    $tabelle = mysql_num_rows($result);

    Penso sia meglio che apra un thread nuovo per quello. Se spieghi esattamente il tuo problema e sono in grado di darti una mano lo faccio volentieri, altrimenti attendi aiuto da altri.

  7. #7
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    ciao nicola ma non mi va il calcolo delle tabelle
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  8. #8
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Originariamente inviato da rocco.mod
    ciao nicola ma non mi va il calcolo delle tabelle
    Se stai facendo il calcolo all'interno della funzione e vuoi che la stessa restituisca più di un valore come nel tuo caso (cioè numero tabelle e dimensione totale delle stesse) devi mettere i due valori all'interno di un array, far restituire alla funzione quello e poi al momento in cui la richiami accedervi tramite array[0] e array[1].

  9. #9
    Utente di HTML.it
    Registrato dal
    May 2007
    Messaggi
    1,805
    ciao mi faresti un esempio grazie
    Non è tanto importante saper fare,quanto ad avere voglia d imparare .

  10. #10
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Codice PHP:
    function getdbsize($tdb) {
      
    $sql_result "SHOW TABLE STATUS FROM " .$tdb;
       
    $result mysql_query($sql_result);
       
    $tables mysql_num_rows($result);    
           while (
    $data mysql_fetch_assoc($result)) 
                
    $size+= $data["Data_length"] + $data["Index_length"];
       
    $results[0] = $tables;
       
    $results[1] = $size;
       return 
    $results;  
    }

    $risultati getdbsize('nome_database');
    echo 
    $risultati[0];
    echo 
    $risultati[1]; 

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.