MySQL cung cấp siêu dữ liệu có giá trị về cơ sở dữ liệu và bảng. Ví dụ: nếu bộ nhớ hệ thống của cơ sở dữ liệu hết, việc kiểm tra kích thước bảng hoặc cơ sở dữ liệu sẽ giúp xác định vị trí bộ nhớ đặc biệt bị quá tải
Bài viết này cung cấp ba phương pháp để kiểm tra kích thước cho tất cả các cơ sở dữ liệu MySQL, một cơ sở dữ liệu hoặc một bảng trong cơ sở dữ liệu
điều kiện tiên quyết
Ghi chú. Đối với khối lượng công việc nặng về lưu trữ và cơ sở dữ liệu quá tải, chúng tôi khuyên bạn nên triển khai máy chủ Bare Metal Cloud được tối ưu hóa bộ nhớ. Phiên bản máy chủ đi kèm với RAM lên tới 768GB và bộ xử lý có thể mở rộng để đảm bảo sự ổn định trong thời gian cao điểm
Có ba cách để kiểm tra kích thước bảng và cơ sở dữ liệu MySQL
1. Sử dụng phpMyAdmin
2. Sử dụng câu lệnh SELECT
3. Sử dụng bàn làm việc MySQL
Tất cả các phương pháp cung cấp cách để kiểm tra kích thước cho
- Một cơ sở dữ liệu duy nhất
- Tất cả cơ sở dữ liệu
- Kích thước bảng cho một cơ sở dữ liệu duy nhất
- Kích thước bảng cho tất cả các cơ sở dữ liệu
Chọn một phương pháp phù hợp nhất với cấu hình của bạn và làm theo hướng dẫn từng bước bên dưới
Phương pháp 1. Sử dụng phpMyAdmin
Sử dụng giao diện web phpMyAdmin để truy cập thông tin về cơ sở dữ liệu MySQL và bảng, bao gồm kích thước của chúng. Bắt đầu bằng cách đăng nhập vào trang quản trị phpMyAdmin của bạn
Lấy kích thước cho một cơ sở dữ liệu duy nhất
Thực hiện theo các bước sau để kiểm tra kích thước cho một cơ sở dữ liệu bằng phpMyAdmin
1. Chọn tên cơ sở dữ liệu trên khung bên trái
2. Định vị cột Kích thước. Các kích thước bảng riêng lẻ hiển thị trong đầu ra
Cuộn xuống dưới cùng để xem tổng kích thước cho cơ sở dữ liệu đã chọn, đây là tổng kích thước
Nhận kích thước cho tất cả các cơ sở dữ liệu
Để tìm kích thước của tất cả các cơ sở dữ liệu trong phpMyAdmin
1. Trên trang chỉ mục, định vị và chọn tab Cơ sở dữ liệu trong thanh điều hướng trên cùng
2. Bên dưới bảng, hãy chọn Bật thống kê
Kích hoạt thống kê có thể gây ra lưu lượng truy cập cao giữa MySQL và máy chủ web. Sử dụng phương pháp này khi có lưu lượng truy cập thấp để giảm thiểu quá tải máy chủ
3. Trang Thống kê cơ sở dữ liệu hiển thị thống kê chung về tất cả các cơ sở dữ liệu, bao gồm kích thước. Cột Tổng tính tổng các cột Dữ liệu và Chỉ mục
Hàng cuối cùng hiển thị các kích thước tổng hợp
Nhận kích thước bảng cho một cơ sở dữ liệu
Để kiểm tra kích thước cho một bảng cơ sở dữ liệu
1. Nhấp vào tên cơ sở dữ liệu trong ngăn bên trái để chọn cơ sở dữ liệu
2. Sử dụng thanh tìm kiếm để lọc các bảng theo tên
Ngoài ra, hãy định vị bảng theo cách thủ công trong danh sách bên dưới thanh tìm kiếm
3. Tìm cột Kích thước và kiểm tra kích thước bảng
Nếu không hiển thị ngay lập tức, hãy cuộn bảng sang bên phải cho đến khi cột hiển thị
Nhận kích thước bảng cho tất cả cơ sở dữ liệu
Kiểm tra tất cả các kích thước bảng cơ sở dữ liệu trong phpMyAdmin bằng truy vấn SELECT
1. Trên trang chỉ mục, chọn tab SQL
2. Nhập truy vấn sau để hiển thị kích thước bảng cho tất cả các cơ sở dữ liệu
SELECT TABLE_SCHEMA AS `Database`,
TABLE_NAME AS `Table`,
ROUND[[DATA_LENGTH + INDEX_LENGTH] / 1024 / 1024] AS `Size [MB]`
FROM information_schema.TABLES
ORDER BY [DATA_LENGTH + INDEX_LENGTH] DESC;
Chia hai lần cho 1024 để có kích thước tính bằng MB và một lần tính bằng KB. Nhấn Go để chạy truy vấn và tìm nạp kết quả.
3. Đầu ra hiển thị kích thước bảng cho tất cả các cơ sở dữ liệu trong cột cuối cùng
4. Kéo thả các cột để quản lý thứ tự hoặc click vào tên cột để sắp xếp kết quả
Phương pháp 2. Sử dụng Câu lệnh dòng lệnh SELECT MySQL
Kích thước cơ sở dữ liệu và bảng có sẵn thông qua giao diện dòng lệnh MySQL
1. Mở terminal [CTRL+ALT+T] và khởi động màn hình MySQL với
mysql -u -p
2. Nhập mật khẩu khi được nhắc và nhấn Enter. Thiết bị đầu cuối hiển thị dấu nhắc mysql>
Dưới đây là một số truy vấn ví dụ sử dụng câu lệnh SELECT
. Tất cả các đầu ra hiển thị kích thước tính bằng MB với hai chữ số thập phân
Lấy kích thước cho một cơ sở dữ liệu duy nhất
Sử dụng câu lệnh SELECT
để lấy kích thước của một cơ sở dữ liệu
SELECT TABLE_SCHEMA AS `Database`,
ROUND[SUM[DATA_LENGTH + INDEX_LENGTH] / 1024 / 1024, 2] AS `Size [MB]`
FROM information_schema.TABLES
WHERE TABLE_SCHEMA="";
Thay đổi thành cơ sở dữ liệu bạn muốn kiểm tra.
Nhận kích thước cho tất cả các cơ sở dữ liệu
Xem kích thước của tất cả các cơ sở dữ liệu với truy vấn sau
SELECT TABLE_SCHEMA AS `Database`,
ROUND[SUM[DATA_LENGTH + INDEX_LENGTH] / 1024 / 1024, 2] AS `Size [MB]`
FROM information_schema.TABLES
GROUP BY TABLE_SCHEMA
ORDER BY SUM[DATA_LENGTH + INDEX_LENGTH] DESC;
Kết quả hiển thị kích thước cơ sở dữ liệu được sắp xếp theo thứ tự giảm dần tính bằng MB.
Nhận kích thước bảng cho một cơ sở dữ liệu
Liệt kê kích thước bảng cho một cơ sở dữ liệu bằng cách sử dụng
SELECT TABLE_NAME AS `Table`,
ROUND[[[DATA_LENGTH + INDEX_LENGTH] / 1024 / 1024], 2] AS `Size [MB]`
FROM information_schema.TABLES
WHERE table_schema = ""
ORDER BY [data_length + index_length] DESC;
Trao đổi lấy tên cơ sở dữ liệu thực. Đầu ra sắp xếp các bảng theo kích thước theo thứ tự giảm dần tính bằng MB.
Nhận kích thước bảng cho tất cả cơ sở dữ liệu
Hiển thị kích thước bảng cho tất cả các cơ sở dữ liệu với
SELECT TABLE_SCHEMA AS `Database`,
TABLE_NAME AS `Table`,
ROUND[[DATA_LENGTH + INDEX_LENGTH] / 1024 / 1024] AS `Size [MB]`
FROM information_schema.TABLES
ORDER BY [DATA_LENGTH + INDEX_LENGTH] DESC;
Truy vấn sắp xếp đầu ra theo kích thước cơ sở dữ liệu. Thay đổi dòng cuối cùng để sắp xếp theo một tham số khác.
Phương pháp 3. Sử dụng bàn làm việc của MySQL
Các phương thức truy vấn SELECT
hoạt động tốt như nhau đối với MySQL Workbench. Tuy nhiên, chương trình cung cấp hai cách bổ sung để kiểm tra nhanh kích thước của một cơ sở dữ liệu và các bảng bên trong cơ sở dữ liệu
Bắt đầu bằng cách mở MySQL Workbench và thiết lập kết nối
Lấy kích thước cho một cơ sở dữ liệu duy nhất
1. Để lấy kích thước của một cơ sở dữ liệu duy nhất trong MySQL Workbench, nhấp chuột phải vào lược đồ bạn muốn kiểm tra trong ngăn điều hướng bên trái
2. Chọn Trình kiểm tra lược đồ từ danh sách. Trên ngăn bên phải, trong tab Chỉ mục, hãy kiểm tra kích thước cơ sở dữ liệu
Kích thước là ước tính sơ bộ được hiển thị theo byte nhị phân
Nhận kích thước bảng cho một cơ sở dữ liệu
Để có được kích thước của một bảng của một cơ sở dữ liệu cụ thể
1. Mở Trình kiểm tra lược đồ cho cơ sở dữ liệu chứa [các] bảng
2. Điều hướng đến tab Bảng
3. Kiểm tra kích thước của một bảng cụ thể trong cột Độ dài dữ liệu hoặc cộng chúng lại với nhau để có tổng số tiền. Ngoài ra, hãy sử dụng câu lệnh SELECT
trong truy vấn
Giới hạn kích thước bảng
Các bảng MyISAM có giới hạn mặc định được đặt thành 256TB cho tệp dữ liệu và chỉ mục, bạn có thể thay đổi giới hạn này thành tối đa 65.536TB
Kích thước tối đa của InnoDB cho các bảng là 256TB, tương ứng với kích thước vùng bảng đầy đủ. Nói chung, cách tốt nhất là chia một bảng InnoDB thành nhiều không gian bảng
Tùy thuộc vào thông số kỹ thuật, một số hệ điều hành giới hạn kích thước tệp. Mặc dù MySQL có một số giới hạn về kích thước bảng, nhưng lỗi đầy bảng rất có thể là do hệ điều hành. Ngoài ra, bộ lưu trữ chứa cơ sở dữ liệu có thể hết công suất
Phần kết luận
Bây giờ bạn sẽ biết một số phương pháp để lấy cơ sở dữ liệu và kích thước bảng sau khi làm theo hướng dẫn này. Tiếp theo, hãy đọc cách tối ưu hóa các bảng MySQL và các mẹo khác để nhận các Mẹo tối ưu hóa và điều chỉnh hiệu suất MySQL khác