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

Làm thế nào để triển khai Materialized View với MySQL?

Tôi duy trì một dự án có tên là Flexviews ( http://github.com/greenlion/swanhart-tools ) bổ sung các chế độ xem vật chất hóa có thể làm mới dần dần vào MySQL (còn gọi là làm mới nhanh), ngay cả đối với các chế độ xem sử dụng phép nối và tổng hợp. Tôi đã làm việc với dự án này trong ba năm. Nó bao gồm một tiện ích thu thập dữ liệu thay đổi để đọc nhật ký cơ sở dữ liệu. Không có trình kích hoạt nào được sử dụng.

Nó bao gồm hai phương pháp làm mới. Phương pháp đầu tiên tương tự như phương pháp của bạn, ngoại trừ một phiên bản mới được tạo và sau đó RENAME TABLE được sử dụng để hoán đổi cái mới cho cái cũ. Không lúc nào chế độ xem không khả dụng để truy vấn, nhưng gấp đôi không gian được sử dụng trong một thời gian ngắn.

Phương pháp thứ hai đúng là "làm mới nhanh", nó thậm chí còn hỗ trợ tính năng tổng hợp và nối.

Có một bài đăng trên blog về nó: http://www.mysqlperformanceblog.com/2011/04/04/flexviews-part-3-improving-query-performance-using-materialized-views/

Flexviews tiên tiến hơn đáng kể so với ví dụ FromDual được tham chiếu bởi astander.



  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 tốt nhất để so sánh / chèn / cập nhật các sản phẩm trong db MySQL từ tệp .CSV là gì

  2. Cập nhật giá trị cột, thay thế một phần của chuỗi

  3. Có bao nhiêu giá trị trong một mệnh đề in là quá nhiều trong một truy vấn SQL?

  4. Cải thiện truy vấn bằng cách sử dụng nhiều liên kết bên trong tới wp_postmeta, một bảng khóa / giá trị

  5. Làm cách nào để tạo liên kết tải ID php ngẫu nhiên trên trang?