Trong dự án của chúng tôi, chúng tôi thường kết thúc viết các kết nối phức tạp như 3 bảng. Chúng ta có đạt được bất kỳ lợi thế hiệu suất nào bằng cách sử dụng các khung nhìn hay chúng chỉ làm cho cuộc sống của các tác giả truy vấn dễ dàng hơn? Trong trường hợp nó quan trọng, chúng tôi sử dụng MySQL. Vì vậy, nếu có bất kỳ lợi thế nào (ngoại trừ các truy vấn đơn giản hơn), hãy làm sáng tỏ.Tôi có nhận được bất kỳ lợi thế hiệu suất nào bằng cách sử dụng VIEW thay vì THAM GIA không?
Trả lời
Nói chung, chế độ xem bình thường không mang lại nhiều cải thiện hiệu suất so với chỉ chạy truy vấn. Tuy nhiên, hầu hết các hệ thống cơ sở dữ liệu, bao gồm MySql (tôi tin rằng ... đã được một thời gian kể từ khi tôi sử dụng nó) cung cấp một số loại Indexed hoặc Materialized xem khả năng. Thông thường, các khung nhìn như vậy có một số hạn chế hợp lý để có thể tồn tại, nhưng khi được tạo, kết quả của truy vấn sao lưu được lưu trữ trong một bảng vật lý (trong trường hợp các khung nhìn được lập chỉ mục SQL Server, một bảng trong TempDB). sau đó chịu trách nhiệm theo dõi các thay đổi đối với truy vấn cơ bản và cập nhật bản sao được lưu trong bộ nhớ cache. Các truy vấn đối với chế độ xem được lập chỉ mục/vật hoá này thường nhanh hơn nhiều, theo thứ tự truy vấn một bảng bình thường.
Chế độ xem chỉ đơn giản là các bảng hợp lý không khác gì so với khi bạn chạy cùng một sql khi chạy. Sự khác biệt duy nhất sẽ là một dạng xem vật hoá, như sử dụng oracle, giống như một khung nhìn được lưu trong bộ nhớ cache.
Tôi muốn đánh dấu câu trả lời của bạn cùng với câu trả lời chính xác của jrista nhưng dường như chỉ có một câu trả lời có thể được đánh dấu như vậy, vì vậy tôi đã trả lời cho bạn một phiếu bầu. –
Chế độ xem (chế độ xem bình thường) không tự cung cấp lợi thế hiệu suất trừ khi chế độ xem được lập chỉ mục (còn được gọi là chế độ xem Vật hoá) được sử dụng có nhiều hạn chế. Không phải tất cả các lượt xem đều có thể được thực hiện.
- 1. Bất kỳ sự bất lợi về hiệu suất của GC.disable?
- 2. Tại sao sử dụng NuSOAP thay vì SOAP PHP? Bất kỳ lợi ích nào?
- 3. Liệu node.js có bất kỳ lợi thế hiệu suất nào trên Javascript phía máy khách (so với Chrome/V8) không?
- 4. Có bất kỳ lợi ích hiệu suất nào khi sử dụng SQL Server 2008 trên SQL Server 2005 không?
- 5. Khi nào sử dụng tham gia tự nhiên SQL thay vì tham gia .. vào?
- 6. LINQ tham gia - Hiệu suất
- 7. Có bất kỳ vấn đề Hiệu suất nào khi sử dụng ISNULL() trong SQL Server không?
- 8. Có bất kỳ bất lợi nào khi sử dụng: văn bản/đồng bằng; charset = "UTF-8"
- 9. Elixir - là có một hình phạt hiệu suất sử dụng nó thay vì erlang đồng bằng?
- 10. chuỗi python tham gia hiệu suất
- 11. Có bất kỳ bất lợi nào khi sử dụng IN trong các procs được lưu trữ của tôi không?
- 12. Làm thế nào để sử dụng đa thức thay vì bit để cải thiện hiệu suất?
- 13. Có hiệu suất đạt được nếu tôi sử dụng [this] thay vì [=] trong các hàm lambda không?
- 14. Có bất kỳ bất lợi nào đối với SEAM không?
- 15. Tôi có thể tham gia nhiều bảng SQL bằng cách sử dụng ID như thế nào?
- 16. Tôi có thể tham gia tài liệu Excel bằng cách sử dụng PHPExcel như thế nào?
- 17. Có bất kỳ lý do thông thường nào để sử dụng open() thay vì fopen() không?
- 18. Có lợi thế nào khi sử dụng các khóa @array thay vì 0 .. $ # array không?
- 19. Bất kỳ cải tiến hiệu suất đáng kể nào bằng cách sử dụng toán tử bitwise thay vì các số tiền int thuần trong C#?
- 20. Có bất kỳ hình phạt về hiệu suất nào khi sử dụng nhiều phiên bản CLLocationManager
- 21. Có bất kỳ khác biệt hiệu suất nào khi sử dụng các phương thức HTTP khác nhau không?
- 22. Có bất kỳ điểm chuẩn nào cho thấy hiệu suất tốt của `collections.deque` không?
- 23. Có bất kỳ điểm chuẩn hiệu suất nào cho Tiết kiệm trên HBase không?
- 24. Tại sao Seq.contains chấp nhận kiểu Bất kỳ thay vì tham số kiểu A?
- 25. Lợi thế hiệu suất của MySQL Enum?
- 26. Tôi có thể sử dụng SafeHandle thay vì IntPtr không?
- 27. Có bất kỳ bất lợi nào khi chỉ sử dụng các tài nguyên hình ảnh có độ phân giải cao cho một ứng dụng Android không?
- 28. Làm thế nào tôi có thể nhận được hướng chuyển động bằng cách sử dụng gia tốc kế?
- 29. Thay thế ld bằng vàng - bất kỳ trải nghiệm nào?
- 30. Tôi có nên sử dụng NoSQL thay vì MySQL không?
Thnx để làm rõ –