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

  • Kevin Bruckert

    Kevin Brucke

    30 Aralık 2006
  • NLthomas21

    NLthomas21

    20 Mayıs 2008
  • Rhapsody

    Rhapsody

    7 ŞUBAT 2008