sourcecode

Oracle Database Link - MySQL 등가물?

codebag 2023. 6. 12. 21:21
반응형

Oracle Database Link - MySQL 등가물?

Oracle 데이터베이스 링크를 사용하면 여러 물리적 데이터베이스에 대해 쿼리할 수 있습니다.

MySQL에 해당하는 것이 있습니까?해결 방법?

두 개의 실제 데이터베이스에 있는 두 개의 테이블에서 조인 쿼리를 실행하려고 합니다.MySQL에서 가능합니까?

귀사의 시나리오에 대해 다음과 같은 네 가지 해결 방법을 생각해 볼 수 있습니다.

  1. 외부 테이블을 쿼리할 때 완전 수식 테이블 이름을 사용합니다. MySQL은dbname.tablename- 현재 데이터베이스 범위 밖의 테이블에 액세스할 수 없습니다.이렇게 하려면 현재 연결된 사용자가 다른 실제 데이터베이스의 요청된 테이블에서 읽을 수 있는 적절한 권한이 있어야 합니다.
  2. 외부 데이터베이스가 다른 MySQL 서버(같은 시스템 또는 네트워크 연결)에서 실행 중인 경우 복제를 사용하여 원격 테이블의 읽기 전용 복사본을 지속적으로 업데이트할 수 있습니다.두 개의 개별 MySQL 인스턴스를 실행하는 경우에만 복제가 가능합니다.
  3. MySQL 스토리지 엔진을 사용하여 테이블을 현재 데이터베이스로 가상으로 가져옵니다.이렇게 하면 자격 증명이 다음과 같이 제공되므로 현재 사용자에게 두 번째 데이터베이스에 대한 액세스 권한을 부여해야 하는 요구 사항이 완화됩니다.CREATE TABLE- 사용 시 설명FEDERATED저장 엔진이것은 다른 물리적 서버 또는 다른 MySQL 인스턴스에서 실행되는 데이터베이스에서도 작동합니다.저는 이것이 가장 좋지 않은 수행 방법이 될 것이라고 생각하며, 사용 시나리오와 요구 사항에 따라 다소 중요한 몇 가지 제한이 있습니다.
  4. 이것은 방법 1의 확장입니다.외부 테이블에서 정보를 요청할 때마다 정규화된 테이블 이름을 지정해야 하는 대신, 단순한 데이터베이스를 기반으로 현재 데이터베이스 내에 보기를 만들 수 있습니다.SELECT <<columns>> FROM <<database>>.<<table>>이것은 방법과 비슷합니다.FEDERATED-method는 작동하지만 동일한 MySQL 인스턴스의 테이블로 제한됩니다.

개인적으로 (4) 방법이 가장 유용하다고 생각하지만, 다른 방법도 요구 사항에 따라 해결 방법이 될 수 있습니다.

현재 MySQL 등변 메서드는 없습니다. 이 게시물을 참조하십시오.그러나 포스터에서 알 수 있듯이 데이터베이스가 동일한 컴퓨터에 있는 경우 테이블 이름 앞에 데이터베이스 이름을 추가하는 것만으로 해결할 수 있습니다.

6년이 지났지만 아직도 해결되지 않았습니다.문을 닫았고 아마도 더 이상 그들의 할 일 목록에 없을 것입니다.

언급URL : https://stackoverflow.com/questions/1565993/oracle-database-link-mysql-equivalent

반응형