다른 데이터베이스에 있는 테이블이랑 조인하기? 0 4 977

by dkfldkfl [SQL Query] [2018.08.14 14:23:51]


A서버의 a 데이터베이스의 user 테이블에는 회원정보가 들어있습니다

 

B서버에서 b데이터베이스에는 purchase 테이블에는 구매내역이 들어있고 각 회원코드가 들어있습니다

 

구매 리스트를 뿌려주기 위해서 purchase의 각 ROW 를 가져와서 회원코드를 저장해 놓은 후

 

각 회원코드 하나에 대해  a데이터베이스의 user 테이블에서 이름에 맞는것을 가져와 저장해 놓고 뿌려줍니다

 

요기까진 문제가 없습니다 (1단계 , 2단계)

 

그런데 만약 리스트들에 대해 이름을 조회를 한다면 현재의 방법으론 방법이 없습니다.

 

코드를 먼저 조회하고 이름을 알아내는 방식인데 이름을 필터링해야하다니..

(1. 일단 이부분이 맞나요? 현재 이 상태론 방법이 없는건가요?)

 

결국 그래서 두개의 테이블을 조인한후에 하려고 하는데 다른 서버에 있는 걸 하려면 USER 테이블에서 어떤 선언을 해주고 (허용하는 서버이름과 정보?)

사용할수있더라구요 근데 이게 보안에 좀 안좋을것같아서요(서버이름과 디비 비번등을 넣어야하는것같아요)

 

2. 좋은 개선책이 있을까요?

 

 

by 우리집아찌 [2018.08.14 14:29:17]

일단 원격지 DB랑 JOIN하는것 자체가 문제가 있어보입니다.

실시간 데이터가 아니면 USER 테이블을 로컬 DB에 저장하여 사용하고 야간에 USER테이블 이관해서 쓰시는게 좋으실듯합니다.

 

 


by dkfldkfl [2018.08.14 14:40:16]

그러면 만약 A에서 B의 user 를 참조, C에서도 B의 user 를 참조 이런경우에요  마찬가지로 A에도 이관시키고 C에도 이관시키고 이렇게 해야하나요?


by 우리집아찌 [2018.08.14 14:55:11]

실시간성 아니면 야간배치로 A, B 서버에 똑같이 가져갑니다.


by 마농 [2018.08.17 10:03:00]

원격 서버의 DB 테이블과 조인하려면 DB 링크를 이용해야 합니다.
다만 이용에 제약이 많으니, 복제해서 사용하는 것을 권장하는 것입니다.
물론 복제하는데도 여러 제약이 따르겠지요?
복제가 나을지? DB링크가 나을지? 각각의 장단점을 확인하고 고민해 보셔야 합니다.

댓글등록
SQL문을 포맷에 맞게(깔끔하게) 등록하려면 code() 버튼을 클릭하여 작성 하시면 됩니다.
로그인 사용자만 댓글을 작성 할 수 있습니다. 로그인, 회원가입