MySQL-এ কোনো টেবিলের গড় সারি লেংথ (বাইটে) জানতে INFORMATION_SCHEMA.TABLES-এর AVG_ROW_LENGTH কলাম ব্যবহার করুন। এটি স্টোরেজ প্ল্যানিং ও পারফরম্যান্স টিউনিং-এ সাহায্য করে।
সিনট্যাক্স
SELECT TABLE_NAME, AVG_ROW_LENGTH, DATA_LENGTH, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'your_database'
AND TABLE_NAME = 'your_table';
উদাহরণ
CREATE TABLE client_information (
id INT,
name VARCHAR(10)
);
INSERT INTO client_information VALUES (1, 'Larry'), (2, 'Mike'), (3, 'Sam');
ক্যোয়ারি
SELECT TABLE_NAME, AVG_ROW_LENGTH, DATA_LENGTH, TABLE_ROWS
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'client_information';
ফলাফল (আংশিক)
+--------------------+----------------+-------------+------------+
| TABLE_NAME | AVG_ROW_LENGTH | DATA_LENGTH | TABLE_ROWS |
+--------------------+----------------+-------------+------------+
| client_information | 5461 | 16384 | 3 |
+--------------------+----------------+-------------+------------+
কলাম ব্যাখ্যা
| কলাম | অর্থ |
|---|---|
| AVG_ROW_LENGTH | গড় সারি আকার (বাইটে) — InnoDB-এ পেজ-ভিত্তিক więc এস্টিমেট |
| DATA_LENGTH | টোটাল ডেটা আকার (বাইটে) |
| INDEX_LENGTH | ইনডেক্স আকার (বাইটে) |
| DATA_FREE | ফ্রেগমেন্টেড স্পেস (বাইটে) |
| TABLE_ROWS | আনুমানিক সারি সংখ্যা (InnoDB-এ একজেক্ট নয়) |
| MAX_DATA_LENGTH | ম্যাক্সিমাম ডেটা আকার (ইঞ্জিন-নির্ভর) |
InnoDB-এ AVG_ROW_LENGTH-এর বাস্তবতা
InnoDB ডেটা ১৬KB পেজে স্টোর করে। AVG_ROW_LENGTH = DATA_LENGTH / TABLE_ROWS (এন্ট্রি নয়, পেজ-লেভেল ক্যালকুলেশন)। ছোট টেবিলে এটি বাস্তবতার চেয়ে বড় দেখাতে পারে।
সঠিক সাইজ জানার উপায়
-- সঠিক সারি সংখ্যা
SELECT COUNT(*) FROM client_information;
-- তারপর ম্যানুয়ালি ক্যালকুলেট
SELECT DATA_LENGTH / (SELECT COUNT(*) FROM client_information) AS exact_avg_row_length
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_NAME = 'client_information';
সব টেবিলের আকার রিপোর্ট
SELECT
TABLE_NAME,
TABLE_ROWS,
ROUND(DATA_LENGTH/1024/1024, 2) AS data_mb,
ROUND(INDEX_LENGTH/1024/1024, 2) AS index_mb,
ROUND(AVG_ROW_LENGTH, 0) AS avg_row_bytes
FROM INFORMATION_SCHEMA.TABLES
WHERE TABLE_SCHEMA = 'your_database'
ORDER BY DATA_LENGTH DESC;