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

Số lượng lớn các cột, Chọn tất cả sẽ mất vĩnh viễn

InnoDB lưu trữ các bảng "rộng" theo một cách khác. Thay vì có tất cả các cột cùng nhau trong một chuỗi duy nhất (cộng thêm chi phí, chẳng hạn như độ dài, v.v.), nó thực hiện như sau:

  • Nếu tổng tất cả các cột của một hàng nhất định vượt quá khoảng 8KB, nó sẽ di chuyển một số dữ liệu sang một vùng lưu trữ ("không được lưu") khác.
  • Những cột nào được di chuyển ra khỏi bản ghi tùy thuộc vào kích thước của các cột, v.v.
  • Các chi tiết phụ thuộc vào ROW_FORMAT đã chọn.
  • "Không lưu" là một khối (hoặc các khối) 16KB khác.
  • Sau đó, khi thực hiện SELECT * (hoặc ít nhất là tìm nạp (các) cột ngoài bản ghi), nó phải thực hiện một lần tìm nạp đĩa khác.

Làm gì?

  • Suy nghĩ lại về việc có quá nhiều cột.
  • Xem xét "phân vùng theo chiều dọc", trong đó bạn có (các) bảng khác chứa TEXT đã chọn cột. Đề xuất chọn các nhóm cột dựa trên các mẫu truy cập trong ứng dụng của bạn.
  • Đối với các cột thường khá dài, hãy xem xét nén chúng trong ứng dụng khách và lưu trữ thành một BLOB thay vì TEXT . Hầu hết "văn bản" thu nhỏ lại 3:1. Các đốm màu được gửi ra ngoài bản ghi giống như Văn bản, tuy nhiên, các đốm màu nén này sẽ nhỏ hơn, do đó ít khả năng bị tràn hơn.
  • Thực hiện nhiều xử lý hơn trong SQL - để tránh trả lại tất cả các hàng hoặc tránh trả lại toàn bộ văn bản, v.v. Khi đưa nhiều văn bản cho máy khách một cách mù quáng, mạng và máy khách sẽ trở thành một yếu tố quan trọng trong thời gian trôi qua, không chỉ là SELECT , chính nó.



  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 để kết nối với Cơ sở dữ liệu MySQL?

  2. Làm cách nào để tôi có thể Chèn dữ liệu vào Cơ sở dữ liệu MySQL?

  3. Làm thế nào để thực hiện một đường trung bình động trên một phạm vi ngày trong SQL?

  4. Cách tốt nhất để xác thực JDBC đầu vào của người dùng?

  5. CakePHP sử dụng nhiều cơ sở dữ liệu cho các mô hình