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

Laravel Eloquent so với trình tạo truy vấn - Tại sao sử dụng eloquent để giảm hiệu suất

Eloquent là cách triển khai mẫu Active Record của Laravel và nó đi kèm với tất cả các điểm mạnh và điểm yếu của nó.

Active Record là một giải pháp tốt để xử lý một thực thể đơn lẻ theo cách CRUD - nghĩa là tạo một thực thể mới với các thuộc tính đã điền và sau đó lưu nó vào cơ sở dữ liệu, tải bản ghi từ cơ sở dữ liệu hoặc xóa.

Bạn sẽ được hưởng lợi rất nhiều từ các tính năng của Eloquent như kiểm tra bẩn (chỉ gửi SQL UPDATE cho các trường đã được thay đổi), sự kiện mô hình (ví dụ:gửi cảnh báo quản trị hoặc cập nhật bộ đếm thống kê khi ai đó đã tạo tài khoản mới), đặc điểm ( dấu thời gian, xóa mềm, đặc điểm tùy chỉnh của bạn) tải háo hức / lười biếng, v.v. Bạn cũng có thể áp dụng mô hình hướng miền và triển khai một số phần logic nghiệp vụ trong các thực thể Bản ghi hoạt động của mình, ví dụ:xác thực, quản lý quan hệ, tính toán, v.v.

Tuy nhiên, như bạn đã biết, Active Record đi kèm với một số mức giá hiệu suất.

Khi bạn xử lý một bản ghi hoặc một vài bản ghi, không có gì phải lo lắng. Nhưng đối với các trường hợp khi bạn đọc nhiều bản ghi (ví dụ:đối với mã dữ liệu, báo cáo, xử lý hàng loạt, v.v.) thì DB của Laravel đơn giản phương pháp là một cách tiếp cận tốt hơn.

Đối với các ứng dụng dựa trên Laravel của chúng tôi, chúng tôi đang sử dụng cả hai cách tiếp cận khi chúng tôi thấy phù hợp. Chúng tôi sử dụng biểu mẫu Eloquent for UI của Laravel để xử lý một bản ghi duy nhất và sử dụng DB (được hỗ trợ bởi các chế độ xem SQL với các chỉnh sửa hiệu suất cụ thể của công cụ cơ sở dữ liệu bổ sung) để truy xuất dữ liệu cho các bảng giao diện người dùng, xuất tác vụ, v.v. Nó cũng hoạt động tốt với các API RESTful - Eloquent cho GET, PUT, POST, DELETE bằng khóa và DB cho GET không cần khóa nhưng có bộ lọc và sắp xếp và phân trang.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Liên kết cơ sở dữ liệu Oracle - MySQL tương đương?

  2. Làm cách nào để kích hoạt Nhật ký truy vấn MySQL?

  3. Làm cách nào để tìm các ký tự không phải ASCII trong MySQL?

  4. tên trường mysql từ biến

  5. Cách sửa giá trị chuỗi không chính xác trong MySQL