tabellengrösse

Einklappen
X
 
  • Filter
  • Zeit
  • Anzeigen
Alles löschen
neue Beiträge

  • tabellengrösse

    hallo!

    wie kann ich mit php die grösse (kb) der tabellen einer db ermitteln?

    die tabellen selbst werden schon gelistet, für die grösse finde ich leider den entsprechenden befehl nicht.

    wer hilft mir weiter?

    danke!

  • #2
    die Tabellendateien (unter window) werden einzeln in mysql/data/dbname abgelegt. es sind 3 Dateien .frm, .MYD, .MYI , ob das auch in Linux so ist

    Kommentar


    • #3
      Ja, das ist im Linux auch so.
      Meist unter /var/lib/mysql, kommt man bei vielen Providern aber nicht 'ran.
      Ein SQL ist hier wohl praktischer. Tipp 'mal den SQL

      SHOW TABLE STATUS from [DatabaseName]

      ein.
      Data_length -> MYD-File
      Index_length -> MYI-File

      Kommentar


      • #4
        moin und danke für die antwort.

        hab' mich wohl falsch ausgedrückt:
        ich möchte ein php-script schreiben, das die dateigrössen der tabellen auf dem server einliest und in einer übersicht ausgibt.

        phpmyadmin kann das ja auch, also muss es dafür eine anweisung geben.
        ich hab' zwar die mysql-doku durchgeforstet, finde aber nichts oder verstehe es falsch.

        Kommentar


        • #5
          sorry fuser,

          hab' deinen tip noch nicht gesehen.
          werde es gleich mal probieren.

          Kommentar


          • #6
            hab' jetzt ein script gebastelt:
            liest alle tabellennamen mit grösse aus:
            PHP-Code:
            $res mysql_list_tables($mysqldb);
            $num_tables mysql_num_rows($res);

            echo 
            "Tabellen: ".$num_tables."<br><br>";

            while (
            $wert mysql_fetch_array($res))
                {
                
            $tab_namen[] = $wert[0];
                }

            foreach (
            $tab_namen as $tab)
                {
                
            $result  mysql_query("SHOW TABLE STATUS LIKE '".$tab."'");
                
            $wert mysql_fetch_array($result);
                
            $tab_sum $wert['Data_length'] + $wert['Index_length'];
                
            $sum_total += $tab_sum;
                echo 
            "
                <span style='width:150'>"
            .$wert['Name']."</span>
                <span style='width:40; text-align:right'>"
            .number_format($tab_sum/1000,1,",",".")."</span><br>";
                }

            echo 
            "
            <br><span style='width:150'>Summe</span>
            <span style='width:40; text-align:right'>"
            .number_format($sum_total/1000,1,",",".")."<br>"
            vielleicht kann es ja jemand brauchen.

            danke für die hilfe!

            Kommentar

            Lädt...
            X