মাইএসকিউএল ওয়ার্কবেঞ্চ ডাটাবেস আকার


12

আমি আমার মাইএসকিউএল ওয়ার্কব্যাঞ্চের সমস্ত ডাটাবেস যে হার্ড ডিস্কটি ব্যবহার করছি সেটিতে মোট আকার সন্ধান করার চেষ্টা করছি।

কেউ এটিকে বোঝার কোনও সহজ উপায় সম্পর্কে জানেন?

যদি আর কিছু না হয়, উইন্ডোজ মেশিনে কাঁচা ডেটা সংরক্ষণ করার জন্য ডিফল্ট অবস্থান mysql / workbench ব্যবহার করে?

আগাম ধন্যবাদ! Quintis

উত্তর:


12

আমার কাছে কিছু প্রশ্ন রয়েছে আপনি INFORMATION_SCHEMA এর বিরুদ্ধে চালাতে পারেন

মোট মাইএসকিউএল ডেটা এবং স্টোরেজ ইঞ্জিন দ্বারা সূচক ব্যবহার পেতে এটি চালান Run

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;

মোট মাইএসকিউএল ডেটা এবং ডাটাবেস দ্বারা সূচক ব্যবহারের জন্য এটি চালান Run

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;

বিচারকার্য স্থগিত রাখার আদেশ

প্রতিটি ক্যোয়ারিতে, আপনি দেখতে পাবেন (SELECT 3 pw)। Pw ফলাফল প্রদর্শন করতে পাওয়ার অফ 1024 for

  • (SELECT 0 pw) প্রতিবেদনটি বাইটে প্রদর্শন করবে
  • (SELECT 1 pw) প্রতিবেদনটি কিলোবাইটে প্রদর্শন করবে
  • (SELECT 2 pw) প্রতিবেদনটি মেগাবাইটে প্রদর্শিত হবে
  • (SELECT 3 pw) গিগা বাইটস এ প্রতিবেদনটি প্রদর্শিত হবে
  • (SELECT 4 pw) টেরাবাইটে প্রতিবেদনটি প্রদর্শিত হবে
  • (SELECT 5 pw) পেটাবাইটিসে প্রতিবেদনটি প্রদর্শন করবে (আপনি যদি এটি চালনা করেন তবে আমার সাথে যোগাযোগ করুন)

এখানে সামান্য কম ফর্ম্যাটিং সহ একটি প্রতিবেদনের ক্যোয়ারী দেওয়া হয়েছে:

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;

একবার চেষ্টা করে দেখো !!!

হালনাগাদ

ক্লায়েন্টের ডিবিতে আমি প্রথম ক্যোয়ারী চালিয়েছি

mysql> 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;
+----------------+----------------------+----------------------+----------------------+
| Storage Engine | Data Size            | Index Size           | Table Size           |
+----------------+----------------------+----------------------+----------------------+
| MyISAM         |             0.673 GB |             0.079 GB |             0.752 GB |
| InnoDB         |             4.227 GB |             2.436 GB |             6.663 GB |
| Total          |             4.900 GB |             2.515 GB |             7.415 GB |
+----------------+----------------------+----------------------+----------------------+
3 rows in set (0.79 sec)

mysql>

এটা যেমন কাজ করে

আপডেট 2015-01-16 14:46 ইস্ট

মেশিনগুলির প্রতিবেদন করার জন্য প্রশ্নগুলি এখানে রয়েছে - ফ্লাই করে মেমরি ইউনিটগুলি গণনা করে

স্টোরেজ ইঞ্জিন দ্বারা মোট মাইএসকিউএল ডেটা এবং সূচক ব্যবহার

SELECT IFNULL(ENGINE,'Total') "Storage Engine",
LPAD(CONCAT(FORMAT(DAT/POWER(1024,pw1),2),' ',
SUBSTR(units,pw1*2+1,2)),17,' ') "Data Size",
LPAD(CONCAT(FORMAT(NDX/POWER(1024,pw2),2),' ',
SUBSTR(units,pw2*2+1,2)),17,' ') "Index Size",
LPAD(CONCAT(FORMAT(TBL/POWER(1024,pw3),2),' ',
SUBSTR(units,pw3*2+1,2)),17,' ') "Total Size" FROM
(SELECT ENGINE,DAT,NDX,TBL,IF(px>4,4,px) pw1,
IF(py>4,4,py) pw2,IF(pz>4,4,pz) pw3 FROM
(SELECT *,FLOOR(LOG(IF(DAT=0,1,DAT))/LOG(1024)) px,
FLOOR(LOG(IF(NDX=0,1,NDX))/LOG(1024)) py,
FLOOR(LOG(IF(TBL=0,1,TBL))/LOG(1024)) pz
FROM (SELECT ENGINE,SUM(data_length) DAT,SUM(index_length) NDX,
SUM(data_length+index_length) TBL FROM (SELECT engine,data_length,index_length
FROM information_schema.tables WHERE table_schema NOT IN
('information_schema','performance_schema','mysql') AND ENGINE IS NOT NULL) AAA
GROUP BY ENGINE WITH ROLLUP) AAA ) AA) A,(SELECT ' BKBMBGBTB' units) B;

ডেটাবেস দ্বারা মোট মাইএসকিউএল ডেটা এবং সূচক ব্যবহার

SELECT IFNULL(DB,'Total') "Database",
LPAD(CONCAT(FORMAT(DAT/POWER(1024,pw1),2),' ',
SUBSTR(units,pw1*2+1,2)),17,' ') "Data Size",
LPAD(CONCAT(FORMAT(NDX/POWER(1024,pw2),2),' ',
SUBSTR(units,pw2*2+1,2)),17,' ') "Index Size",
LPAD(CONCAT(FORMAT(TBL/POWER(1024,pw3),2),' ',
SUBSTR(units,pw3*2+1,2)),17,' ') "Total Size"
FROM (SELECT DB,DAT,NDX,TBL,IF(px>4,4,px) pw1,
IF(py>4,4,py) pw2,IF(pz>4,4,pz) pw3 FROM
(SELECT *,FLOOR(LOG(IF(DAT=0,1,DAT))/LOG(1024)) px,
FLOOR(LOG(IF(NDX=0,1,NDX))/LOG(1024)) py,
FLOOR(LOG(IF(TBL=0,1,TBL))/LOG(1024)) pz
FROM (SELECT DB,SUM(data_length) DAT,SUM(index_length) NDX,
SUM(data_length+index_length) TBL FROM
(SELECT table_schema DB,data_length,index_length FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','performance_schema','mysql')
AND ENGINE IS NOT NULL) AAA GROUP BY DB WITH ROLLUP) AAA) AA) A,
(SELECT ' BKBMBGBTB' units) B;

ডাটাবেস / স্টোরেজ ইঞ্জিন দ্বারা মোট মাইএসকিউএল ডেটা এবং সূচক ব্যবহার

SELECT IF(ISNULL(DB)+ISNULL(ENGINE)=2,'Database Total',
CONCAT(DB,' ',IFNULL(ENGINE,'Total'))) "Reported Statistic",
LPAD(CONCAT(FORMAT(DAT/POWER(1024,pw1),2),' ',
SUBSTR(units,pw1*2+1,2)),17,' ') "Data Size",
LPAD(CONCAT(FORMAT(NDX/POWER(1024,pw2),2),' ',
SUBSTR(units,pw2*2+1,2)),17,' ') "Index Size",
LPAD(CONCAT(FORMAT(TBL/POWER(1024,pw3),2),' ',
SUBSTR(units,pw3*2+1,2)),17,' ') "Total Size" FROM
(SELECT DB,ENGINE,DAT,NDX,TBL,
IF(px>4,4,px) pw1,IF(py>4,4,py) pw2,IF(pz>4,4,pz) pw3 FROM
(SELECT *,FLOOR(LOG(IF(DAT=0,1,DAT))/LOG(1024)) px,
FLOOR(LOG(IF(NDX=0,1,NDX))/LOG(1024)) py,
FLOOR(LOG(IF(TBL=0,1,TBL))/LOG(1024)) pz
FROM (SELECT DB,ENGINE,SUM(data_length) DAT,SUM(index_length) NDX,
SUM(data_length+index_length) TBL FROM (SELECT table_schema DB,ENGINE,
data_length,index_length FROM information_schema.tables WHERE table_schema NOT IN
('information_schema','performance_schema','mysql') AND ENGINE IS NOT NULL) AAA
GROUP BY DB,ENGINE WITH ROLLUP) AAA) AA) A,(SELECT ' BKBMBGBTB' units) B;

1
আমি তথ্য_সেমি.বিশেষগুলি ব্যবহার করছি: দয়া করে কিছু আছে কি?
gbn

@gbn - কোয়েরিগুলি পৃথক করে engine, যা তথ্য_স্কেমা.বিভাজনে কোনও কলাম নয়। এটি ছাড়াও, তথ্য_সেমি.বিভাজনগুলি সমস্ত টেবিল, এমনকি বিভাজনবিহীন অংশগুলি ধারণ করে। টেবিল_সেমিমা পরীক্ষা করার জন্য ক্লিয়ার ক্লজগুলি বাদ দেওয়ার জন্য information_schemaএবং কেবল মনে রাখবেন mysql
রোল্যান্ডোমাইএসকিউএলডিবিএ

আপনার প্রদত্ত কোডটিতে আমার কিছু ত্রুটি ছিল, তবে সেগুলি কীভাবে ডিবাগ করা যায় সে সম্পর্কে আমি যথেষ্ট অভিজ্ঞ নই। আমি অনলাইনে অন্য কিছু কোড খুঁজে পেয়েছি এটি SELECT table_schema, sum(data_length) / 1024 / 1024 "data", sum(index_length) / 1024 / 1024 "index", sum( data_length + index_length ) / 1024 / 1024 "total" FROM information_schema.TABLES GROUP BY table_schema;কি এটি দেখতে কার্যকর হবে? পুরো তথ্য_স্কেমা / টেবিল_স্কেমা ক্যোয়ারী আমার কাছে নতুন। (যদি আপনি বলতে না পারেন, আমি এই সবের জন্য বেশ নতুন :) ধন্যবাদ!
কুইন্টিস 555

2
+1 সাইন আপ করেছেন যাতে আমি এটি +1 করতে পারি। এর বেশি ভোট কেন নেই? ধন্যবাদ!
চুল্লী
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.