Kịch bản:Truy vấn trên một khung nhìn chậm hơn so với thực hiện SQL trực tiếp?
Tôi có 3 bảng cần được nối với nhau, mệnh đề where để giới hạn tập kết quả và chỉ một vài cột từ mỗi bảng được chọn. Đơn giản. Tuy nhiên, các truy vấn để làm điều này không phải là rất đẹp, và khi sử dụng một ORM giữa cơ sở dữ liệu và ứng dụng, nó giống như cố gắng để đặt một hình vuông peg vào một lỗ tròn.
Cách của tôi để giải quyết vấn đề này là tạo chế độ xem bao trùm truy vấn và giờ đây mô hình ứng dụng của tôi ánh xạ trực tiếp đến chế độ xem trong cơ sở dữ liệu; không còn điên lập bản đồ lớp ORM nữa.
Câu hỏi: Giả sử không có yếu tố nào khác phát huy ở đây, truy vấn ngược lại sẽ chịu thêm bất kỳ hình phạt hiệu suất bổ sung nào mà tôi sẽ không trúng nếu tôi thực hiện câu lệnh SQL trực tiếp? - Đây không phải là chế độ xem được lập chỉ mục, giả sử cùng một mệnh đề where, giữ điều này đơn giản.
Tôi đang được cho rằng tin rằng một lượt xem bị thêm phí trên "đang được xây dựng". Sự hiểu biết của tôi là với tất cả những người khác giống nhau, cả hai nên có hiệu suất giống nhau.
Vui lòng làm rõ. Cảm ơn!
Phụ thuộc vào cơ sở dữ liệu của bạn và nhiều thứ khác. Nếu đó là MySQL, thì câu trả lời là Có, nó chậm hơn. – nos