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

Cách tìm kích thước của các chỉ mục trong mysql (bao gồm các khóa chính)

Khóa chính của bạn là bảng của bạn. Trong một InnoDB, khóa chính chứa dữ liệu thực, do đó nếu khóa chính chứa dữ liệu thì đó là bảng.

Nghĩ về nó ngay lúc này. Bạn nhận được hai loại chỉ mục khác nhau trên một nhóm bảng InnoDB và các chỉ mục phụ. Sự khác biệt là một chỉ mục được phân cụm chứa dữ liệu và một chỉ mục phụ chứa các cột được lập chỉ mục và một con trỏ đến dữ liệu. Do đó, chỉ mục phụ không chứa dữ liệu mà là vị trí của dữ liệu được đặt trong chỉ mục ĐÃ ĐIỀU CHỈNH.

Thông thường khóa chính là một chỉ mục được phân cụm. Sẽ rất kém hiệu quả nếu lưu trữ cả bảng với tất cả các giá trị của nó và sau đó là một chỉ mục được phân cụm với tất cả các giá trị của nó. Điều này sẽ tăng gấp đôi kích thước của bảng một cách hiệu quả.

Vì vậy, khi bạn có khóa chính trên InnoDB, kích thước bảng là kích thước của khóa chính. Trong một số hệ thống cơ sở dữ liệu, bạn có thể có một chỉ mục phụ làm khóa chính và một chỉ mục riêng biệt dưới dạng khóa nhóm, tuy nhiên InnoDB không cho phép điều này.

Hãy đọc các liên kết sau để biết thêm chi tiết:

http://dev.mysql.com /doc/refman/5.0/en/innodb-table-and-index.html

http://dev.mysql.com/doc /refman/5.0/en/innodb-index-types.html

Trong các liên kết này, họ giải thích tất cả những gì tôi đã nói ở trên chi tiết hơn. Nói một cách đơn giản, bạn đã có kích thước của chỉ mục khóa chính giống như kích thước của bảng của bạn.

Hy vọng điều đó sẽ hữu ích.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Làm thế nào để có được kích thước của cơ sở dữ liệu MySQL?

  2. Lỗi MySQL:Kích thước cột tối đa là 767 byte

  3. Phương pháp tốt nhất để xử lý lỗi bằng PDO

  4. SQLSTATE [HY093]:câu lệnh pdo trong khi chèn vào mysql db

  5. EF Core `update-database` trên MySql không thành công với` __EFMigrationsHistory 'không tồn tại`