Tiêu đề nói lên tất cả. Kỳ lạ là không thể tìm thấy một kết quả về điều này.
Tiêu đề nói lên tất cả. Kỳ lạ là không thể tìm thấy một kết quả về điều này.
Câu trả lời:
Vâng, nó làm. Làm thế nào mà ? Chạy truy vấn này trong Trường hợp RDS:
mysql> select * from information_schema.engines where engine='MEMORY'\G
*************************** 1. row ***************************
ENGINE: MEMORY
SUPPORT: YES
COMMENT: Hash based, stored in memory, useful for temporary tables
TRANSACTIONS: NO
XA: NO
SAVEPOINTS: NO
1 row in set (0.01 sec)
Kể từ khi SUPPORT
nói Yes
, câu trả lời là Có.
Bạn cũng có thể chạy SHOW ENGINES;
và xem tất cả các công cụ được hỗ trợ hoặc không trong RDS.
SUPPORT
trong truy vấn bạn hiển thị ở đây.
Câu trả lời này áp dụng cho AWS Aurora chứ không phải MySQL RDS.
Chỉ vì SHOW ENGINES
nói rằng cơ sở dữ liệu có MEMORY
công cụ lưu trữ không có nghĩa là bạn thực sự có thể sử dụng nó. Chúng tôi đã thấy rằng trong AWS Aurora, SHOW ENGINES;
cuộc gọi sẽ cho bạn biết rằng MEMORY
động cơ được hỗ trợ. Tuy nhiên, nếu bạn cố gắng thay đổi công cụ thành MEMORY
hoặc tạo một bảng không tạm thời bằng MEMORY
công cụ, bạn sẽ nhận được một công cụ InnoDB, vì Aurora chỉ hỗ trợ InnoDB. Khi bạn chạy thay đổi động cơ, bạn sẽ nhận được cảnh báo rằng công cụ InnoDB đã được sử dụng.
Đây là những gì tôi nhận được từ hỗ trợ AWS:
Aurora được thiết kế để cung cấp hỗ trợ cho chỉ công cụ lưu trữ InnoDB cho các bảng thông thường. Các công cụ khác ngoài InnoDB chỉ được hỗ trợ cho các bảng tạm thời ở cấp phiên. Với cấu hình mặc định, khi bạn cố gắng tạo bảng bằng công cụ lưu trữ khác với InnoDB, Aurora sẽ ngầm tạo bảng dưới dạng InnoDB. Các bảng tạm thời ở cấp phiên không liên tục và chúng sẽ bị loại bỏ sau khi phiên hoàn thành.