안녕하세요~ 오랜만에 DB사랑에 질문 올리네요 :)
회원 번호를 기준으로 A or B 디비로 나눠서 수평적인 샤딩을 구현하려합니다.
SP에서 노가다로 IF ELSE로 타겟 DB를 찾을까 고민했으나... 뭔가 어썸한 방법이 있지 않을까해서 질문드려봅니다~
단순히 떠오른 생각은 아래와 같습니다 ㅠ
DECLARE @userIndex INT = 123
DECLARE @targetDB NVARCHAR(10) = 'NONE'
IF @userIndex % 3 = 0
BEGIN
SET @targetDB = 'AAA DB'
SELECT * FROM tbl_A
SELECT *
FROM tbl_Common AS common
INNER JOIN tbl_A AS AAA ON common.pk = A.pk
END
ELSE IF @userIndex % 3 = 1
BEGIN
SET @targetDB = 'BBB DB'
SELECT * FROM tbl_B
SELECT *
FROM tbl_Common AS common
INNER JOIN tbl_B AS BBB ON common.pk = B.pk
|