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

  • ColdfusTion

    ColdfusTion

    3 Aralık 2007
  • MarinaHD2001

    MarinaHD2001

    7 ŞUBAT 2009
  • tutvid

    tutvid

    19 AĞUSTOS 2006