MySQL không hỗ trợ tính năng Foreign Table theo cách giống như PostgreSQL với Foreign Data Wrappers (FDW). Tuy nhiên, MySQL có một số tính năng và cách tiếp cận để làm việc với dữ liệu từ các nguồn bên ngoài:
MySQL cung cấp một storage engine gọi là Federated, cho phép bạn truy cập dữ liệu từ các cơ sở dữ liệu MySQL khác trên các server khác nhau. Điều này tương tự như FDW trong PostgreSQL nhưng có một số điểm khác biệt:
FEDERATED
và chỉ định URL của bảng từ server khác.CREATE TABLE federated_table ( id INT, name VARCHAR(100) ) ENGINE=FEDERATED CONNECTION='mysql://user:password@remote_host:3306/database_name/remote_table';
Mặc dù không phải là tính năng chính thức trong MySQL, một số ứng dụng và framework hỗ trợ việc tạo ra các bảng liên kết (linked tables) thông qua các truy vấn hoặc API, nhưng điều này không tích hợp sâu vào ngôn ngữ SQL của MySQL.
Ngoài việc sử dụng Federated, bạn cũng có thể:
Mặc dù MySQL không có khái niệm Foreign Table như PostgreSQL, bạn vẫn có thể làm việc với dữ liệu từ các nguồn bên ngoài bằng cách sử dụng Federated Storage Engine hoặc các phương pháp khác. Nếu bạn đang tìm kiếm một giải pháp tương tự, bạn có thể xem xét việc sử dụng Federated hoặc các công cụ ETL để tích hợp dữ liệu.