RDS kullanarak Amazon AWS'de barındırılan web sitem için bir MySQL veritabanım var. 5 GB depolama alanına sahiptir. İçindeki verilerin gerçekte ne kadar büyük olduğunu (ve dolayısıyla 5 GB'lık kotanın ne kadarını bıraktığımı) nasıl anlayabilirim?
RDS kullanarak Amazon AWS'de barındırılan web sitem için bir MySQL veritabanım var. 5 GB depolama alanına sahiptir. İçindeki verilerin gerçekte ne kadar büyük olduğunu (ve dolayısıyla 5 GB'lık kotanın ne kadarını bıraktığımı) nasıl anlayabilirim?
Yanıtlar:
BİLGİ_SCHEMA'sına karşı daha düzenli sorgular
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;
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 );
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;
Üç (3) sorgunun her birinde göreceksiniz (SELECT 3 pw)
. pw
1024 Of Power standları belirli birimlerinde sonuçlarını görüntülemek için:
(SELECT 0 pw)
Raporu Bayt Olarak Gösterir(SELECT 1 pw)
Raporu Kilobayt Olarak Gösterecek(SELECT 2 pw)
Raporu MegaBytes'te Gösterecek(SELECT 3 pw)
Raporu GigaBytes'te Gösterecek(SELECT 4 pw)
Raporu TeraBytes'te Gösterecek(SELECT 5 pw)
Raporu PetaBytes'te görüntüler (bunu çalıştırırsanız lütfen benimle iletişime geçin)İşte biraz daha az biçimlendirmeye sahip bir rapor sorgusu 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;
Sonunda bu bilgileri birkaç tıklama ile doğrudan Amazon'dan almanın kolay yolunu buldum.
show table status from mydatabsename;
burada mydatabasename veritabanı adınızdır.
Bu, tablo başına Veri_uzunluğu ve Dizin_uzunluğu metriklerini ve diğer metrikleri gösterir. Bu sütunları toplamalı ve bayt cinsinden olduklarını hatırlamanız gerekir, böylece kb almak için 1024'e, sonra da meg almak için tekrar 1024'e ve konser almak için tekrar 1024'e bölmeniz gerekir. Bu ayrıca dizin / veritabanı ayırmanızdaki boş alanı da gösterir.
Keşfetmek isterseniz daha ayrıntılı ve toplam () alabilirsiniz: http://dev.mysql.com/doc/refman/5.5/en/show-table-status.html
SELECT SUM(DATA_FREE) FROM INFORMATION_SCHEMA.PARTITIONS;
Dizin / veritabanı ayırmada kalan alanı gösterir ...
SELECT SUM(Data_length) FROM INFORMATION_SCHEMA.PARTITIONS;
SELECT SUM(Index_length) FROM INFORMATION_SCHEMA.PARTITIONS;
... kullanılan verileri ve dizin boyutunu gösterir (toplam ayırma için eklemeniz gerekir)
Eğer şeyleri biraz daha incelemek istiyorsanız ...
select sum(Data_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema";
select sum(Index_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema";
select sum(DATA_FREE) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema";
select sum(Data_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema" and TABLE_NAME = "aspecifictable";
select sum(Index_length) from INFORMATION_SCHEMA.PARTITIONS where TABLE_SCHEMA = "myschema" and TABLE_NAME = "aspecifictable";
Tabii ki burada bulduğum gibi MySQL Workbench'i de kullanabilirsiniz: http://dev.mysql.com/downloads/tools/workbench/, ancak veritabanı sunucunuza port erişiminiz olduğunu varsayar. Yine de, indirmeye değer çok çevrimdışı yapabilirsiniz. Lütfen çalışma tezgahının benim için anlamlı olmayan tahsisleri () toplamadığını unutmayın. Ama yine de, en son sürüme de sahip değilim.
2019 : MySQL ve MariaDB için Lütfen sağlanan bu AWS bağlantısına bakın: https://aws.amazon.com/premiumsupport/knowledge-center/view-storage-rds-mysql-mariadb/