Andavos: MySQL per PHP dieGröße der Datenbank in Bit/Byte

Hallo,
also ich weiß das man irgendwie herrausfinden kann, wie groß (in Bit/Byte) eine Tabelle ist.

Ich habe schon sehr Intensiv gesucht, allerdings alle Scripts die ich dazu gefunden habe, haben nicht funktioniert, bzw. ich habe sie Falsch geschrieben/angewendet :(
Unteranderem habe ich in dem MySQL Handbuch nachgeguckt, aber das Beispiel Script ging auch nicht, bzw. falsch angewendet :/

Also es wäre gut, wenn jemand dafür einen Script hat, wo man nur noch den Tabellen Namen angeben muss :)

P.S. ich benutze PHP als Prog. Sprache

MFG
Andavos

--
http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
  1. Hello,

    Du willst Metadaten über die Tabellen?

    Da kommt SHOW in Frage.

    Versuchs also mal mit SHOW TABLE STATUS;

    Query duchführen.

    Wie man ein Resultset auswertet weißt Du ja bestimmt noch:

    while( $_rec[] = mysql_fetch_assoc($res));

    echo "<pre>";
    print_r($_rec);
    echo "</pre>";

    Liebe Grüße aus http://www.braunschweig.de

    Tom

    --
    Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
    1. Hallo,

      also folgender Code geht:

      $abfrage = "SHOW TABLE STATUS";
      $ergebnis = mysql_query($abfrage);
      while($rec[] = mysql_fetch_assoc($ergebnis))
         {
         print_r($rec);
       echo "<br><br>";
         }

      also mit

      $abfrage = "SHOW TABLE STATUS FROM datenbank";
      $ergebnis = mysql_query($abfrage);
      while($rec[] = mysql_fetch_assoc($ergebnis))
         {
         print_r($rec);
         echo "<br><br>";
         }

      erhalte ich viele Werte, aber weißt du, welcher für die Größe (in Bit) steht?

      MFG
      Andavos

      --
      http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
      1. Hallo Andavos,

        while($rec[] = mysql_fetch_assoc($ergebnis))
           {
           print_r($rec);

        damit wird dir bei jedem Durchlauf das Array in $rec ausgegeben, welches bei jedem Durchlauf länger wird - eigentlich ist nur das letzte (vollständige) Array interessant.

        erhalte ich viele Werte, aber weißt du, welcher für die Größe (in Bit) steht?

        warum schaust du nicht in der Dokumention zu deiner Datenbank nach, was was bedeutet: http://www.mysql.de/doc/de/SHOW_TABLE_STATUS.html?

        Grüße aus Nürnberg
        Tobias

        --
        Selfcode: sh:( fo:) ch:? rl:( br:< n4:& ie:% mo:| va:) de:] zu:) fl:( ss:| ls:[ js:|
      2. Hello,

        $abfrage = "SHOW TABLE STATUS";
        $ergebnis = mysql_query($abfrage,$con);  # gewöhn dir an, die Connection

        # mit anzugeben
        $_rec = array();
        while($_rec[] = mysql_fetch_assoc($ergebnis)); # Das Semikolon an Ende
                                                       # war ernst gemeint!

        echo "<pre>";
        print_r($_rec);
        echo "</pre>";

        Und Client-Server-Technik bedeutet die strikte Trennung von

        • Eingabe  (Request)
        • Verarbeitung
        • Ausgabe  (Response)

        Man sollte also, sofern der Arbeitsspeicher dafür ausreicht, immer erst alle Werte berechnen, und dann zum Schluss erst gesammelt ausgeben. Das führt dann später auch zu absolut aufgeräumten PHP/HTML-Dateien.

        das steht doch bei dem Array immer dabei. Ist doch ein assoziatives.

        Liebe Grüße aus http://www.braunschweig.de

        Tom

        --
        Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen
        1. Hallo,

          Also so habe ich es jetzt gemacht:

          $abfrage = "SHOW TABLE STATUS FROM datenbank";
          $ergebnis = mysql_query($abfrage);
          while($_rec = mysql_fetch_array($ergebnis))
             {
                  echo "<br><br>";
           echo $_rec['Name'];
           echo " ";
           echo $_rec['Index_length'];
                  echo " ";
           echo $_rec['Data_length'];
             }

          P.S. Das Einrückt macht der hier im Forum nicht richtig

          Soll man auch die Connection angeben, wenn man nur 1 hat? Bzw. warum sollte man dies machen?

          Und wenn ich an die While-Schleife ein Semikolon hänge, erhalte ich keine ausgabe, weil ich die { ... } Variante benutze.

          MFG
          Andavos

          --
          http://www.rpgcommunity.de/clanwissen/index.php Webdesign, PHP, Clan-Aufbau und mehr
          1. Hello,

            Soll man auch die Connection angeben, wenn man nur 1 hat? Bzw. warum sollte man dies machen?

            Ja, sollte man aus zwei Gründen. Man könnte ja mal in Versuchung kommen, einfach fertige Klassen oder Scripte zu includen und zu benutzen. dann weiß man ja gar nicht so genau, ob es da noch mehr Connections gibt.
            Und außerdem dauert das automatische Bestimmen des Handles einen kleinen Moment länger.

            Und wenn ich an die While-Schleife ein Semikolon hänge, erhalte ich keine ausgabe, weil ich die { ... } Variante benutze.

            Weil Du dich nicht an E-V-A hältst und bereits währen der Datenbeschaffung die Ausgabe betreibst. Das musste man, als man mit 64k Hauptspeicher auskommen musste. Aber heute hat man doch eher 64MB und da kann man schön sauber arbeiten.

            Liebe Grüße aus http://www.braunschweig.de

            Tom

            --
            Fortschritt entsteht nur durch die Auseinandersetzung der Kreativen