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

Các JOIN trong SQL tốn kém như thế nào? Và / hoặc, đánh đổi giữa hiệu suất và bình thường là gì?

Cách tốt nhất là luôn luôn bắt đầu với 3NF, sau đó chỉ xem xét hiện tượng không chuẩn hóa nếu bạn tìm thấy một vấn đề hiệu suất cụ thể.

Hiệu suất chỉ là một về các vấn đề bạn phải giải quyết với cơ sở dữ liệu. Bằng cách sao chép dữ liệu, bạn có nguy cơ cho phép dữ liệu không nhất quán trong cơ sở dữ liệu của mình, do đó làm mất tác dụng của một trong những nguyên tắc cốt lõi của cơ sở dữ liệu quan hệ, đó là tính nhất quán (C trong ACID ).

Vâng, tham gia có một chi phí, không có xung quanh đó. Tuy nhiên, chi phí thường ít hơn bạn nghĩ rất nhiều và thường có thể bị ảnh hưởng bởi các yếu tố khác như thời gian truyền mạng. Bằng cách đảm bảo các cột có liên quan được lập chỉ mục đúng cách, bạn có thể tránh được rất nhiều chi phí đó.

Và, hãy nhớ câu thần chú tối ưu hóa: đo lường, đừng đoán! Và đo lường trong một môi trường giống như sản xuất. Và giữ đo lường (và điều chỉnh) định kỳ - tối ưu hóa chỉ là một hoạt động đặt và quên nếu lược đồ và dữ liệu của bạn không bao giờ thay đổi (rất khó xảy ra).

Việc đảo ngược hiệu suất thường có thể được thực hiện an toàn bằng cách sử dụng các trình kích hoạt để duy trì tính nhất quán. Tất nhiên, điều này sẽ làm chậm các bản cập nhật của bạn, nhưng vẫn có thể cho phép các lựa chọn của bạn chạy nhanh hơ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. Spark:Không thể đọc bảng MySQL lớn vào DataFrame

  2. mysql Lưu trữ Thủ tục, Truy vấn để kiểm tra xem có tồn tại hay không

  3. Cập nhật khóa chính Django MySQL

  4. Định cấu hình nhóm kết nối GlassFish JDBC để xử lý chuyển đổi dự phòng Amazon RDS Multi-AZ

  5. Trong khi nhập tệp mysqldump LỖI 1064 (42000) gần '■ /' tại dòng 1