Mysql
 sql >> Cơ Sở Dữ Liệu >  >> RDS >> Mysql

Cách kiểm tra kích thước của cơ sở dữ liệu trong MySQL

Trong MySQL, bạn có thể truy vấn information_schema.tables bảng để trả về thông tin về các bảng trong cơ sở dữ liệu. Bảng này bao gồm thông tin về độ dài dữ liệu, độ dài chỉ mục, cũng như các chi tiết khác như đối chiếu, thời gian tạo, v.v. Bạn có thể sử dụng thông tin trong bảng này để tìm kích thước của cơ sở dữ liệu nhất định hoặc tất cả cơ sở dữ liệu trên máy chủ.

Bạn cũng có thể sử dụng MySQL Workbench GUI để tìm thông tin chi tiết về cơ sở dữ liệu (bao gồm cả kích thước của nó).

Bài viết này cung cấp tổng quan nhanh về cả hai phương pháp.

Ví dụ về mã

Dưới đây là ví dụ về cách tìm kích thước của từng cơ sở dữ liệu bằng cách chạy truy vấn đối với information_schema.tables bảng:

SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables 
GROUP BY table_schema;

Kết quả:

+--------------------+---------------+-------------+
| Database Name      | Size in Bytes | Size in MiB |
+--------------------+---------------+-------------+
| information_schema |             0 |        0.00 |
| Music              |         98304 |        0.09 |
| mysql              |       2506752 |        2.39 |
| performance_schema |             0 |        0.00 |
| sakila             |       6766592 |        6.45 |
| Solutions          |         16384 |        0.02 |
| sys                |         16384 |        0.02 |
| world              |        802816 |        0.77 |
+--------------------+---------------+-------------+

Trong ví dụ này, tôi đã liệt kê kích thước tính bằng byte và theo mebibyte (MiB), nhưng bạn có thể chọn cách bạn muốn trình bày.

Tất nhiên, bạn luôn có thể thu hẹp nó vào một cơ sở dữ liệu cụ thể nếu bạn cần. Chỉ cần thêm WHERE mệnh đề với tên của cơ sở dữ liệu:

SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    ROUND(SUM(data_length + index_length) / 1024 / 1024, 2) 'Size in MiB'
FROM information_schema.tables 
WHERE table_schema = 'sakila';

Kết quả:

+---------------+---------------+-------------+
| Database Name | Size in Bytes | Size in MiB |
+---------------+---------------+-------------+
| sakila        |       6766592 |        6.45 |
+---------------+---------------+-------------+

Hàm FORMAT_BYTES ()

Bạn có thể sử dụng sys.FORMAT_BYTES() chức năng tự lưu chuyển đổi kích thước thành mebibyte, kibibyte hoặc bất cứ thứ gì. Hàm này nhận một giá trị, chuyển đổi nó sang định dạng mà con người có thể đọc được và trả về một chuỗi bao gồm một giá trị và một chỉ báo đơn vị. Giá trị được chuyển đổi sẽ phụ thuộc vào kích thước của giá trị (vì vậy kết quả có thể bằng bytes , KiB (kibibyte), MiB (mebibytes), GiB (gibibyte), TiB (tebibyte) hoặc PiB (pebibyte).

Dưới đây là một ví dụ về việc viết lại ví dụ trước đó để sử dụng FORMAT_BYTES() chức năng:

USE Music;
SELECT 
    table_schema 'Database Name',
    SUM(data_length + index_length) 'Size in Bytes',
    sys.FORMAT_BYTES(SUM(data_length + index_length)) 'Size (Formatted)'
FROM information_schema.tables 
GROUP BY table_schema;

Kết quả:

+--------------------+---------------+------------------+
| Database Name      | Size in Bytes | Size (Formatted) |
+--------------------+---------------+------------------+
| information_schema |             0 | 0 bytes          |
| Music              |         98304 | 96.00 KiB        |
| mysql              |       2506752 | 2.39 MiB         |
| performance_schema |             0 | 0 bytes          |
| sakila             |       6766592 | 6.45 MiB         |
| Solutions          |         16384 | 16.00 KiB        |
| sys                |         16384 | 16.00 KiB        |
| world              |        802816 | 784.00 KiB       |
+--------------------+---------------+------------------+

MySQL Workbench

Một cách khác để tìm kích thước cơ sở dữ liệu là sử dụng MySQL Workbench GUI. Đây là cách thực hiện:

  1. Điều hướng đến cơ sở dữ liệu trong Schemas ngăn
  2. Di chuột qua cơ sở dữ liệu hiện hành
  3. Nhấp vào biểu tượng thông tin nhỏ bên cạnh tên cơ sở dữ liệu. Thao tác này tải thông tin về cơ sở dữ liệu, bao gồm kích thước gần đúng, số lượng bảng, đối chiếu, v.v. Kích thước cơ sở dữ liệu được liệt kê trên Info (thường là tab mặc định).

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL - Làm cho một trường hiện có trở thành duy nhất

  2. Sắp xếp tự nhiên trong MySQL

  3. SQL - NẾU TỒN TẠI CẬP NHẬT ELSE INSERT INTO

  4. Cân bằng tải với ProxySQL cho Percona XtraDB Cluster

  5. Khắc phục sự cố đăng nhập PHP SQL đơn giản