Tôi có một bảng cho khoảng 100.000 người dùng trong đó.Hiệu suất xem MySQL
Trường hợp thứ nhất:
explain select state, count(*) as cnt from users where state = 'ca'
Khi tôi làm một giải thích kế hoạch cho các truy vấn trên tôi nhận được chi phí như 5200
Thứ hai trường hợp:
Create or replace view vw_users as select state, count(*) as cnt from users
Explain select cnt from vw_users where state = 'ca'
Khi tôi làm một giải thích kế hoạch trên truy vấn thứ hai, tôi nhận được chi phí là 100.000.
Điều khoản where trong chế độ xem hoạt động như thế nào? Mệnh đề where có được áp dụng sau khi view xem tất cả các hàng không? Làm cách nào để khắc phục vấn đề này?
định nghĩa khung nhìn của bạn là mất tích nhóm theo mệnh đề. –
Nếu bạn không thể sử dụng thuật toán hợp nhất, đây là một công việc xung quanh tôi thấy hữu ích: [Giải pháp cho các vấn đề về hiệu suất của các chế độ xem dễ chịu] (http://www.mysqlperformanceblog.com/2010/05/19/a-workaround- for-the-performance-problems-of-temptable-views /) – landoncz