서로 물리적으로 분리된 두 개의 DB에서 테이블을 조인하려고 합니다.
오라클의 경우 database link 를 만들어서 사용할 수 있었는데
Mysql에도 이런 기능이 있나요?
오라클의 DB Link나 MSSQL 오픈 쿼리등이 MySQL에는 없는 것으로 압니다. (5.1 기준, 틀렸다면 지적해주세요. 저도 궁금합니다.)
NFS등을 통해 로컬 디스크로 인식시키는 방법 외에는 없을 것 같습니다.
FEDERATED storage engine 이 그런 기능이라고 하는대.. 써본적은 없어서..
한번 확인을 해보시기 바랍니다.
-- 대충 요약했습니다. --
MySQL server 가 다른 remote MySQL server 의 table 를 사용할수 있게 허락하고 이 clients 는 마치 local tables 처럼 가능하게 만든다. The clients는 다른 서버가 테이블 접속 을 directly connect 할 필요는 없다.
- 특징 -
- .frm 파일 형식으로 database 디렉토리에 저장된다. - 트렌젝션을 지원하지 않는다. - 오직 Remote server 는 MySQL 이어야 한다. - SELECT/INSERT/UPDATE/DELETE/TRUNCATE 와 index 를 지원한다. - ALTER TABLE or DROP TABLE 을 제외한 DDL(Data Definition Language statements)을 지원하지 않는다. - FEDERATED table 사용하기 전에 remote table 의 FEDERATED table point 가 무조건 존재해야된다 - FEDERATE table 에 대해서 MySQL 은 어떤 lock 도 사용하지 않는다. - 내부적으로 REDERATED tables 은 remote server dp passing SELECT,INSERT,UPDATE,DELETE statement 으로 구현되었다. 현재 prepared statements를 사용하지 않고 실행된다. - FEDERATED 에 반대되는 queries 는 query cache 에 cached 되지 않는다.