Cách lấy tổng kích thước cơ sở dữ liệu trong MySQL bằng truy vấn Chuyên mục Devops 2023-05-11 872 Lượt xem 81 Lượt thích 1 Bình luận
Lấy tổng kích thước cơ sở dữ liệu trong MySQL không khó. Về cơ bản, nó yêu cầu một câu lệnh if đơn giản.
Lưu ý: bài viết này cũng có thể hoạt động trên các nền tảng khác, nhưng cá nhân tôi đã không kiểm tra những nền tảng đó. Nếu bạn làm, xin vui lòng cho tôi biết!
Chạy câu lệnh SELECT sau trên cơ sở dữ liệu của bạn. Hãy thay thế database name của bạn vào cuối nhá:
SELECT
size_mb
FROM (
SELECT
table_schema as name,
ROUND(SUM(data_length + index_length) / 1024 / 1024, 1) as size_mb
FROM
information_schema.tables
GROUP BY
table_schema) alias_one
WHERE
name = 'your_database_name'
Và kết quả:
Truy vấn sẽ nhận được tổng kích thước của cơ sở dữ liệu tính bằng MB. Nếu bạn muốn kích thước tính bằng GB, bạn nên thêm một phép chia khác cho 100 như truy vấn bên dưới. Để biết các số chính xác hơn, hãy cập nhật tham số thứ hai của hàm ROUND thành số thập phân bạn muốn (ví dụ: 2 số thập phân cho độ chính xác như 4,71 GB:
SELECT
size_gb
FROM (
SELECT
table_schema as name,
ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1000, 2) as size_gb
FROM
information_schema.tables
GROUP BY
table_schema) alias_one
WHERE
name = 'your_database_name'
Lấy kích thước của tất cả các cơ sở dữ liệu trong phiên bản MySQL hiện tại
Bạn thậm chí có thể lấy danh sách tất cả các kích thước cơ sở dữ liệu cho phiên bản MySQL hiện tại. Bạn có thể làm như vậy bằng cách loại bỏ câu lệnh SELECT bên ngoài bằng WHERE và chỉ giữ lại câu lệnh SELECT bên trong:
SELECT
table_schema AS name,
ROUND(SUM(data_length + index_length) / 1024 / 1024 / 1000, 2) AS size_gb
FROM
information_schema.tables
GROUP BY
table_schema
Bình luận (1)
Hay qúa