SORU
24 HAZİRAN 2011, Cuma


Nasıl belirli bir MySQL tablo kaplıyor nasıl tespit edebilirsiniz?

Hızlı bir şekilde belirli bir MySQL tablo alarak belirlemek. Tablo hali hazırda ya da Orada olabilir.

CEVAP
24 HAZİRAN 2011, Cuma


Bir tablo için mydb.mytable için bu çalıştırın:

BAYT

SELECT (data_length index_length) tablesize
FROM information_schema.tables
WHERE table_schema='mydb' and table_name='mytable';

KİLOBAYT

SELECT (data_length index_length)/power(1024,1) tablesize_kb
FROM information_schema.tables
WHERE table_schema='mydb' and table_name='mytable';

MEGABAYT

SELECT (data_length index_length)/power(1024,2) tablesize_mb
FROM information_schema.tables
WHERE table_schema='mydb' and table_name='mytable';

GİGABAYT

SELECT (data_length index_length)/power(1024,3) tablesize_gb
FROM information_schema.tables
WHERE table_schema='mydb' and table_name='mytable';

JENERİK

Burada maksimum ünite göstergesi TB bulunduğu genel bir sorgu (Terabayt)

SELECT 
    CONCAT(FORMAT(DAT/POWER(1024,pw1),2),' ',SUBSTR(units,pw1*2 1,2)) DATSIZE,
    CONCAT(FORMAT(NDX/POWER(1024,pw2),2),' ',SUBSTR(units,pw2*2 1,2)) NDXSIZE,
    CONCAT(FORMAT(TBL/POWER(1024,pw3),2),' ',SUBSTR(units,pw3*2 1,2)) TBLSIZE
FROM
(
    SELECT DAT,NDX,TBL,IF(px>4,4,px) pw1,IF(py>4,4,py) pw2,IF(pz>4,4,pz) pw3
    FROM 
    (
        SELECT data_length DAT,index_length NDX,data_length index_length TBL,
        FLOOR(LOG(IF(data_length=0,1,data_length))/LOG(1024)) px,
        FLOOR(LOG(IF(index_length=0,1,index_length))/LOG(1024)) py,
        FLOOR(LOG(IF(data_length index_length=0,1,data_length index_length))/LOG(1024)) pz
        FROM information_schema.tables
        WHERE table_schema='mydb'
        AND table_name='mytable'
    ) AA
) A,(SELECT 'B KBMBGBTB' units) B;

Deneyin !!!

Bunu Paylaş:
  • Google+
  • E-Posta
Etiketler:

YORUMLAR

SPONSOR VİDEO

Rastgele Yazarlar

  • Excel Video Tutorials

    Excel Video

    6 Aralık 2012
  • Marina and The Diamonds

    Marina and T

    8 Temmuz 2008
  • Rooster Teeth

    Rooster Teet

    11 Temmuz 2006