Visualizzazione dei risultati da 1 a 5 su 5

Discussione: Spazio occupato MySQL

  1. #1

    Spazio occupato MySQL

    Ciao a tutti conoscete un comando che restituisce la quantità di spazio occupada da occupata da un db?
    Tipo:
    Codice PHP:
    disk_total_space(); 
    .:Se sei uno scrittore o un giornalista:.
    oppure anche solo per hobby
    www.adaltavoce.com facci sentire la tua.
    Il mio blog tonylog.altervista.org

  2. #2
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    Con mysql 5 puoi ottenere lo spazio direttamente tramite una query sull'information schema.

    Con mysql 4 con una query non so se sia possibile.
    Dovresti fare

    show table status from tuo_db

    e sommare i valori delle colonne Data_length e Index_length.
    Potresti farti un semplice script in php che ti somma i valori di quelle due colonne.

  3. #3
    Ho risolto:
    Codice PHP:
    function dbweight($conn){
                                global 
    $db_weight;
                                
    $sql 'SHOW TABLE STATUS';
                                
    $query mysql_query($sql$conn)or die(mysql_error());
                                while (
    $array mysql_fetch_assoc($query)) {
                                
    //calcolo il peso totale di ogni tabella
                                
    $tab $array["Data_length"] + $array["Index_length"] + $array["Data_free"];
                                
    //calcolo il peso totale del db
                                
    $tot += $tab;
                                }
                                
    //Totale in Mega
                                
    $db_weight $tot/1024;
                                
    //echo $db_weight;
                                

    Adesso ho un'altro problema:
    quando richiama la function cosi:

    Codice PHP:
    dbweight($conn);

    echo 
    $db_weight
    non mi scrive la variabile....
    nonostante sia dichiarata globale sapreste darmi una mano?
    .:Se sei uno scrittore o un giornalista:.
    oppure anche solo per hobby
    www.adaltavoce.com facci sentire la tua.
    Il mio blog tonylog.altervista.org

  4. #4
    Utente di HTML.it L'avatar di nicola75ss
    Registrato dal
    Nov 2004
    Messaggi
    12,922
    La funzione deve avere un return. Inoltre usi come globale una variabile che in realtà calcoli all'interno della funzione.

    Codice PHP:
    function dbweight() {
    global 
    $conn;
    $sql 'SHOW TABLE STATUS';
    $query mysql_query($sql$conn)or die(mysql_error());
    $tot 0;
    while (
    $array mysql_fetch_assoc($query)) {
    //calcolo il peso totale di ogni tabella
    $tot+= $array["Data_length"] + $array["Index_length"];
    //Totale in Mega
    $db_weight $tot/1024;
    }
    return 
    $db_weight;
    }
    echo 
    dbweight(); 
    P.S. Data_free non serve. Bastano le due colonne che ti ho detto.

  5. #5
    funziona perfettamente....
    Grazie mille....
    .:Se sei uno scrittore o un giornalista:.
    oppure anche solo per hobby
    www.adaltavoce.com facci sentire la tua.
    Il mio blog tonylog.altervista.org

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.