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

Tốt nhất để sử dụng * khi gọi nhiều trường trong mysql?

Lưu ý: Tất nhiên, đặt tên cho tất cả các trường là một phương pháp hay nhất, nhưng trong bài đăng này, tôi sẽ chỉ thảo luận về các lợi ích về hiệu suất, không phải các lợi ích về thiết kế hoặc bảo trì.

* cú pháp có thể chậm hơn vì những lý do sau:

  • Không phải tất cả các trường đều được lập chỉ mục và truy vấn sử dụng tính năng quét toàn bộ bảng. Có lẽ không phải trường hợp của bạn:khó có khả năng tất cả các trường bạn trả về đều được lập chỉ mục với một chỉ mục duy nhất.

  • Việc trả lại các trường theo sau từ một bảng có chứa các cột có độ dài thay đổi có thể dẫn đến một chút chi phí tìm kiếm:để trả về 20th trường, 19 trước đó cần được kiểm tra và tính toán bù đắp.

  • Chỉ cần thêm dữ liệu được trả về (chuyển qua kết nối).

Vì bạn cần gần như tất cả các trường, lý do cuối cùng có lẽ là lý do quan trọng nhất. Giả sử, description TEXT trường chỉ có thể là 1 trong tổng số 50 các trường không được sử dụng trên trang, nhưng có thể chiếm 10 gấp nhiều lần dung lượng so với tất cả các trường khác.

Trong trường hợp này, tất nhiên sẽ tốt hơn nếu bạn đặt tên cho tất cả các trường và bỏ qua các trường dài mà bạn không cầ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. Cách nhận bản ghi từ 24 giờ qua trong MySQL

  2. mysqldump trên máy chủ từ xa

  3. Lặp lại một chuỗi nhiều lần trong MySQL - REPEAT ()

  4. Nhóm truy vấn mysql theo khoảng thời gian 15 phút

  5. Cách tạo đồ thị và biểu đồ từ cơ sở dữ liệu mysql trong php