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

  • Grace Su

    Grace Su

    6 Ocak 2006
  • natescamp

    natescamp

    30 NİSAN 2009
  • PoreoticsHD

    PoreoticsHD

    22 NİSAN 2010