Một điều cần phải xem xét là cách MySQL sử dụng bộ đệm cho các công cụ lưu trữ chính của nó: InnoDB và MyISAM .
Những gì nằm trong bộ nhớ cache khác nhau rất nhiều giữa các công cụ lưu trữ.
InnoDB lưu trữ cả trang dữ liệu và chỉ mục. Chúng được tải vào Nhóm đệm InnoDB, có kích thước bằng innodb_buffer_pool_size .
MyISAM chỉ lưu trữ các trang chỉ mục và chúng được tải vào Bộ đệm chính (Bộ đệm chính), có kích thước bằng key_buffer_size .
Bạn phải sử dụng information_schema.tables để lấy dữ liệu và kích thước chỉ mục chiếm trên đĩa để định kích thước chính xác cho Bộ đệm InnoDB và Bộ đệm chính MyISAM .
Tùy thuộc vào lượng dữ liệu bạn có và thời gian bạn cho phép, bạn có thể làm ấm bộ đệm như sau:
Đối với mỗi bảng TableT
- goto đến từng chỉ số NDX
- cho mỗi chỉ số NDX
- chạy CHỌN mỗi cột trong NDX, ít nhất một cột không được lập chỉ mục trong TableT từ TableT
Bằng cách này, bạn đảm bảo rằng mọi trang dữ liệu và chỉ mục sẽ được đọc ít nhất một lần. Họ sẽ ngồi trong bộ nhớ cache. Khái niệm này được thực hành, một phần và về nguyên tắc, bởi Percona . Percona đã xây dựng khái niệm này thành mk-nô lệ-prefetch . Chương trình này làm gì
- đọc nhật ký chuyển tiếp trên một nô lệ trước nô lệ xử lý SQL trong đó
- lấy một câu lệnh SQL từ nhật ký chuyển tiếp và chuyển đổi nó thành một CHỌN sử dụng các mệnh đề WHERE, GROUP BY và ORDER BY như một hướng dẫn để chọn các chỉ mục
- thực hiện câu lệnh SELECT xuất phát từ SQL được chuyển đổi
Điều này buộc nô lệ phải có 99,99% dữ liệu mà nô lệ cần để xử lý SQL nhanh chóng. Điều này cũng làm cho nô lệ được chuẩn bị trong trường hợp bạn chuyển đổi thủ công sang nô lệ và thăng cấp nó thành chủ nhân KHI CACHES CHỈ LÀ VỀ CÙNG NHƯ LÀ MASTER BẠN ĐÃ TỪNG TỪ.
PHẦN KẾT LUẬN
Không có gì có thể có bộ nhớ cache sẵn sàng, sẵn sàng và có thể cho bạn sử dụng trong một môi trường nặng nề, CẬP NHẬT và XÓA.
Hãy thử một lần !!!
CAUPAT
Với sự ra đời của các sản phẩm như memcached, một số người đã thoát khỏi nhu cầu thực hiện điều chỉnh đúng cách của MySQL. Cấp, nhiều trang web được hưởng lợi từ việc tăng cường truy xuất dữ liệu được cung cấp bằng cách kiểm soát hành vi bộ đệm của dữ liệu khi các nhà phát triển đã nhanh chóng nhìn thấy với memcached. Nhiều trang web khác, chỉ bằng cách chuyển đổi các công cụ lưu trữ hoặc cấu hình chính xác MySQL, đã nhận ra những lợi ích hiệu suất tương tự. Trước khi từ bỏ cơ sở dữ liệu và sử dụng nghiêm ngặt nó làm kho lưu trữ, hãy tận dụng tối đa cơ sở dữ liệu của bạn. Theo dõi sự chuyên cần và bạn có thể ngạc nhiên về những gì MySQL sẽ làm cho bạn.