Hier finden Sie besser organisierte Abfragen für INFORMATION_SCHEMA
Größen nach Storage Engine
SELECT
IFNULL(B.engine, 'Total') "Storage Engine",
CONCAT(LPAD(REPLACE(FORMAT(B.DSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') "Data Size",
CONCAT(LPAD(REPLACE( FORMAT(B.ISize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') "Index Size",
CONCAT(LPAD(REPLACE( FORMAT(B.TSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') "Table Size"
FROM
(SELECT
engine,
SUM(data_length) DSize,
SUM(index_length) ISize,
SUM(data_length + index_length) TSize
FROM
information_schema.tables
WHERE
table_schema NOT IN ('mysql', 'information_schema', 'performance_schema')
AND engine IS NOT NULL
GROUP BY engine WITH ROLLUP
) B,
(SELECT 3 pw) A
ORDER BY TSize;
Größen nach Datenbank
SELECT
dbname,
Concat(Lpad(Format(sdsize / Power(1024, pw), 3), 17, ' '), ' ', Substr(' KMGTP', pw + 1, 1), 'B') "Data Size",
Concat(Lpad(Format(sxsize / Power(1024, pw), 3), 17, ' '), ' ', Substr(' KMGTP', pw + 1, 1), 'B') "Index Size",
Concat(Lpad(Format(stsize / Power(1024, pw), 3), 17, ' '), ' ', Substr(' KMGTP', pw + 1, 1), 'B') "Total Size"
FROM
(SELECT
Ifnull(db, 'All Databases') DBName,
Sum(dsize) SDSize,
Sum(xsize) SXSize,
Sum(tsize) STSize
FROM (SELECT
table_schema DB,
data_length DSize,
index_length XSize,
data_length + index_length TSize
FROM information_schema.tables
WHERE table_schema NOT IN ('mysql','information_schema','performance_schema')
) AAA
GROUP BY db WITH rollup
) AA,
(SELECT 3 pw) BB
ORDER BY ( sdsize + sxsize );
Größen nach Datenbank / Speicher-Engine
SELECT
Statistic,
DataSize "Data Size",
IndexSize "Index Size",
TableSize "Table Size"
FROM
(SELECT
IF(ISNULL(table_schema) = 1, 10, 0) schema_score,
IF(ISNULL(engine) = 1, 10, 0) engine_score,
IF(ISNULL(table_schema) = 1, 'ZZZZZZZZZZZZZZZZ', table_schema) schemaname,
IF(ISNULL(B.table_schema) + ISNULL(B.engine) = 2, "Storage for All Databases", IF(ISNULL(B.table_schema) + ISNULL(B.engine) = 1, CONCAT("Storage for ", B.table_schema), CONCAT(B.engine, " Tables for ", B.table_schema))) Statistic,
CONCAT(LPAD(REPLACE(FORMAT(B.DSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') DataSize,
CONCAT(LPAD(REPLACE( FORMAT(B.ISize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') IndexSize,
CONCAT(LPAD(REPLACE(FORMAT(B.TSize / POWER(1024, pw), 3), ',', ''), 17, ' '), ' ', SUBSTR(' KMGTP', pw + 1, 1), 'B') TableSize
FROM
(SELECT
table_schema,
engine,
SUM(data_length) DSize,
SUM(index_length) ISize,
SUM(data_length + index_length) TSize
FROM
information_schema.tables
WHERE
table_schema NOT IN ('mysql', 'information_schema', 'performance_schema')
AND engine IS NOT NULL
GROUP BY
table_schema, engine WITH ROLLUP
) B,
(SELECT 3 pw) A
) AA
ORDER BY schemaname, schema_score, engine_score;
VORBEHALT
In jeder der drei (3) Abfragen sehen Sie (SELECT 3 pw)
. Das pw
steht für die Power Of 1024, um die Ergebnisse in bestimmten Einheiten anzuzeigen:
(SELECT 0 pw)
zeigt den Bericht in Bytes an
(SELECT 1 pw)
zeigt den Bericht in Kilobyte an
(SELECT 2 pw)
zeigt den Bericht in MegaBytes an
(SELECT 3 pw)
zeigt den Bericht in GigaBytes an
(SELECT 4 pw)
zeigt den Bericht in TeraBytes an
(SELECT 5 pw)
zeigt den Bericht in PetaBytes an (bitte kontaktieren Sie mich, wenn Sie diesen ausführen)
Hier ist eine Berichtsabfrage mit etwas weniger Formatierung in KB
:
SELECT
IFNULL(db, 'Total') "Database",
datsum / power(1024, pw) "Data Size",
ndxsum / power(1024, pw) "Index Size",
totsum / power(1024, pw) "Total"
FROM
(
SELECT
db,
SUM(dat) datsum,
SUM(ndx) ndxsum,
SUM(dat + ndx) totsum
FROM
(
SELECT table_schema db, data_length dat, index_length ndx
FROM information_schema.tables
WHERE engine IS NOT NULL AND table_schema NOT IN ('information_schema', 'mysql')
) AA
GROUP BY db WITH ROLLUP
) A,
(SELECT 1 pw) B;
Versuche es !!!
Ich habe endlich den einfachen Weg gefunden, diese Informationen mit ein paar Klicks direkt von Amazon zu erhalten.
quelle
show table status from mydatabsename;
Dabei ist mydatabasename Ihr Datenbankname.Dies zeigt Ihnen die Metriken Data_length und Index_length pro Tabelle und andere Metriken. Sie müssten diese Spalten summieren und sich daran erinnern, dass sie in Bytes sind, also müssten Sie durch 1024 teilen, um kb zu erhalten, und dann erneut durch 1024, um Megs zu erhalten, und dann erneut durch 1024, um Gigs zu erhalten. Dies zeigt auch den freien Speicherplatz in Ihrer Index- / Datenbankzuordnung.
Sie können detaillierter und sum () werden, wenn Sie Folgendes untersuchen möchten: http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html
Zeigt den verbleibenden Speicherplatz in der Index- / Datenbankzuordnung an ...
... zeigt die verwendeten Daten und die verwendete Indexgröße an (Sie müssen sie für die Gesamtzuordnung hinzufügen).
Wenn Sie die Dinge ein bisschen mehr zerlegen wollen ...
Natürlich können Sie auch die MySQL Workbench verwenden, wie ich sie hier gefunden habe: http://dev.mysql.com/downloads/tools/workbench/, aber dies setzt voraus, dass Sie Portzugriff auf Ihren Datenbankserver haben. Trotzdem können Sie auch offline viel tun, was den Download wert ist. Bitte beachten Sie, dass die Workbench keine () Zuordnungen summiert, was für mich keinen Sinn ergibt. Andererseits habe ich auch nicht die neueste Version.
quelle
2019 : Informationen zu MySQL und MariaDB finden Sie unter diesem von AWS bereitgestellten Link: https://aws.amazon.com/premiumsupport/knowledge-center/view-storage-rds-mysql-mariadb/
quelle