Một bảng có thể chứa tối đa 1017 cột [được nêu trong MySQL 5. 6. 9 từ giới hạn trước đó là 1000]. Các cột được tạo ảo được bao gồm trong giới hạn này
Một bảng có thể chứa tối đa 64
Nếu được bật [mặc định], giới hạn tiền tố của khóa chỉ mục là 3072 byte cho các bảng InnoDB
sử dụng định dạng hàng DYNAMIC
hoặc COMPRESSED
. Nếu bị tắt, giới hạn tiền tố của khóa chỉ mục là 767 byte cho các bảng có định dạng hàng bất kỳ
không được dùng nữa; . đã được giới thiệu trong MySQL 5. 5 để vô hiệu hóa tiền tố khóa chỉ mục lớn để tương thích với các phiên bản trước của InnoDB
không hỗ trợ tiền tố khóa chỉ mục lớn
Giới hạn độ dài tiền tố của khóa chỉ mục là 767 byte cho các bảng InnoDB
sử dụng định dạng hàng innodb_large_prefix
0 hoặc innodb_large_prefix
1. Ví dụ: bạn có thể đạt đến giới hạn này với chỉ mục có hơn 255 ký tự trên cột innodb_large_prefix
2 hoặc innodb_large_prefix
3, giả sử bộ ký tự innodb_large_prefix
4 và tối đa 3 byte cho mỗi ký tự
Cố gắng sử dụng độ dài tiền tố khóa chỉ mục vượt quá giới hạn sẽ trả về lỗi. Để tránh những lỗi như vậy trong cấu hình sao chép, hãy tránh bật nguồn nếu nó cũng không thể được bật trên các bản sao
Nếu bạn giảm InnoDB
xuống 8KB hoặc 4KB bằng cách chỉ định tùy chọn khi tạo phiên bản MySQL, thì độ dài tối đa của khóa chỉ mục sẽ giảm theo tỷ lệ, dựa trên giới hạn 3072 byte cho kích thước trang 16KB. Nghĩa là, độ dài khóa chỉ mục tối đa là 1536 byte khi kích thước trang là 8KB và 768 byte khi kích thước trang là 4KB
Các giới hạn áp dụng cho các tiền tố khóa chỉ mục cũng áp dụng cho các khóa chỉ mục toàn cột
Tối đa 16 cột được phép cho các chỉ mục nhiều cột. Vượt quá giới hạn trả về một lỗi
ERROR 1070 [42000]: Too many key parts specified; max 16 parts allowed
Kích thước hàng tối đa, không bao gồm bất kỳ cột có độ dài thay đổi nào được lưu trữ ngoài trang, nhỏ hơn một nửa trang đối với các kích thước trang 4KB, 8KB, 16KB và 32KB. Ví dụ: kích thước hàng tối đa cho mặc định là 16KB là khoảng 8000 byte. Tuy nhiên, đối với kích thước trang InnoDB
là 64KB, kích thước hàng tối đa là khoảng 16000 byte. Các cột InnoDB
0 và InnoDB
1 phải nhỏ hơn 4GB và tổng kích thước hàng, bao gồm các cột InnoDB
2 và innodb_large_prefix
2, phải nhỏ hơn 4GB
Nếu một hàng dài chưa đến nửa trang, tất cả hàng đó sẽ được lưu trữ cục bộ trong trang. Nếu vượt quá nửa trang, thì các cột có độ dài thay đổi được chọn để lưu trữ ngoài trang cho đến khi hàng vừa với nửa trang, như được mô tả trong Phần 14. 12. 2, “Quản lý không gian tệp”
Mặc dù InnoDB
hỗ trợ kích thước hàng lớn hơn 65.535 byte bên trong, nhưng bản thân MySQL áp đặt giới hạn kích thước hàng là 65.535 cho kích thước kết hợp của tất cả các cột. Xem Phần 8. 4. 7, “Giới hạn về số lượng cột trong bảng và kích thước hàng”
Trên một số hệ điều hành cũ, tệp phải dưới 2GB. Đây không phải là một giới hạn InnoDB
. Nếu bạn yêu cầu một không gian bảng hệ thống lớn, hãy định cấu hình nó bằng cách sử dụng một số tệp dữ liệu nhỏ hơn thay vì một tệp dữ liệu lớn hoặc phân phối dữ liệu bảng trên mỗi tệp trên mỗi bảng và tệp dữ liệu không gian bảng chung
Kích thước tối đa kết hợp cho các tệp nhật ký InnoDB
là 512GB
Kích thước không gian bảng tối thiểu lớn hơn một chút so với 10MB. Kích thước không gian bảng tối đa phụ thuộc vào kích thước trang InnoDB
Bảng 14. 25 Kích thước không gian bảng tối đa của InnoDB
Kích thước trang InnoDBKích thước không gian bảng tối đa4KB16TB8KB32TB16KB64TB32KB128TB64KB256TB
Kích thước không gian bảng tối đa cũng là kích thước tối đa cho một bảng
Các tệp vùng bảng không thể vượt quá 4GB trên hệ thống Windows 32-bit [Lỗi #80149]
Một phiên bản InnoDB
hỗ trợ tối đa 2^32 [4294967296] không gian bảng, với một số lượng nhỏ các không gian bảng đó được dành riêng cho các bảng tạm thời và hoàn tác
Không gian bảng được chia sẻ hỗ trợ tối đa 2^32 [4294967296] bảng
Đường dẫn của tệp không gian bảng, bao gồm tên tệp, không được vượt quá giới hạn InnoDB
9 trên Windows. Trước Windows 10, giới hạn của InnoDB
9 là 260 ký tự. Kể từ Windows 10, phiên bản 1607, các giới hạn InnoDB
9 đã bị xóa khỏi các chức năng thư mục và tệp Win32 phổ biến, nhưng bạn phải kích hoạt hành vi mới
Ở 20i, mỗi cơ sở dữ liệu MySQL mà bạn tạo có thể lưu trữ tới 1024 MB [1 GB] dữ liệu. Vì cơ sở dữ liệu chỉ bao gồm văn bản nên đây là rất nhiều không gian trong điều kiện thực tế;
Trong trường hợp hiếm hoi mà bạn cần nhiều hơn 1024 MB, bạn sẽ cần thêm cơ sở dữ liệu bổ sung. Bạn không thể thêm nhiều cơ sở dữ liệu MySQL hơn vào các trang web được lưu trữ trên nền tảng lưu trữ WordPress của chúng tôi;
Nếu bạn có gói Dịch vụ lưu trữ gia đình, doanh nghiệp hoặc đại lý với chúng tôi, thì không có giới hạn về số lượng cơ sở dữ liệu bổ sung mà bạn có thể thêm. Nếu bạn có gói Lưu trữ dành cho người mới bắt đầu, bạn bị giới hạn ở một cơ sở dữ liệu MySQL nhưng bạn có thể nâng cấp gói lưu trữ của mình thông qua My20i hoặc mua gói lưu trữ bổ sung.
Để biết hướng dẫn từng bước về cách tạo cơ sở dữ liệu MySQL mới, vui lòng xem bài viết sau. Làm cách nào để tạo cơ sở dữ liệu MySQL trong My20i
Mặc dù 1024 MB là đủ dung lượng lưu trữ cho phần lớn cơ sở dữ liệu nhưng đôi khi bạn có thể cần một cơ sở dữ liệu lớn hơn. Nếu bạn cần lưu trữ cơ sở dữ liệu lớn hơn mức này, có thể thực hiện bằng cách sử dụng Dịch vụ lưu trữ được quản lý trên VPS.