Grösse einer MySQL DB



  • Hallo an Alle,

    wir haben ein kleines Problem mit unserem Provider bezüglich der Berechnung der Grösse unserer DB.

    Der Provider behauptet man ermittelt die Grösse einer DB wie folgt:

    select cast(sum(table_size)/1024/1024 as unsigned integer) as size from information_schema.table_sizes where table_schema='usr_dbname'
    

    Mit dieser Abfrage resultiert eine Zahl in MB, die über 70% des Wertes entspricht, die phpmyadmin anzeigt.
    Ich habe mich jetzt im Netzt etwas umgeschaut und bin auf folgenden Select gestossen:

    SELECT table_schema "usr_dbname", sum( data_length + index_length ) / 1024 / 1024 "Data Base Size in MB" FROM information_schema.TABLES GROUP BY table_schema;
    

    Mit dieser Abfrage erhalte ich - ohne where clausel - alle DBs in phpmyadmin angezeigt, die mit unserem User zu tun haben - auch die beanstandete DB. Die Grösse entspricht exakt dem Wert, wie er auch in phpmyadmin erfolgt.

    Wer hat jetzt recht??

    Besten Dank im Voraus für Antworten



  • Weiss wirklich niemand, wie man den Speicherbedarf einer MySQL DB ermittelt ohne Rootberechtigung auf dem Rechner??

    Meine Frage ist insofern wichtig, da wir auf Grund dieses Sachverhalts u.U. den Provider wechseln werden.

    Ach ja die 70% in meinem ersten Posting stimmen nicht. Es sind 700%. Die machen aus 10 MB in mysqladmin 70 MB....

    Gruss und besten Dank



  • information_schema.table_sizes ist nicht dokumentiert.

    information_schema.tables ist das was alle zu verwenden scheinen. Von daher würde ich mal darauf tippen dass die Werte da drinnen stimmen.

    Ideal wäre wenn du direkt die Filegrösse kontrollieren könntest. Das ist nämlich immer noch die sicherste Methode 🙂



  • DB_size schrieb:

    Weiss wirklich niemand, wie man den Speicherbedarf einer MySQL DB ermittelt ohne Rootberechtigung auf dem Rechner??

    Meine Frage ist insofern wichtig, da wir auf Grund dieses Sachverhalts u.U. den Provider wechseln werden.

    Ach ja die 70% in meinem ersten Posting stimmen nicht. Es sind 700%. Die machen aus 10 MB in mysqladmin 70 MB....

    Gruss und besten Dank

    Frage falsch verstanden
    Ich wäre auch über Detei bzw. Ordnergrößen gegangen. Ja nach Konfiguration des Webservers hast du veilliecvht noch ausreichend Rechte die Dateigröße zu ermiteln. Was wie gesagt wohl der beste Wert ist.

    Vielliecht interessant: http://www.mysqlperformanceblog.com/2008/03/17/researching-your-mysql-table-sizes/

    Alt:
    Kannst du nicht einfach im Phpmyadmin code nachsehen wie das ermittelt wird?


Anmelden zum Antworten