2009-09-22 2 views
1

기존 테이블을 Sql Server 2005에서 두 개 이상의 테이블로 분할해야합니다. 테이블에 이미 1,000 개가 넘는 행이 있습니다.Split Ms Sql 2005 두 개 이상의 파트로 구성된 테이블

예를 들어 현재 테이블에는 열 A, B, C, D, E와 ID 열이 있습니다. A, B, C 행을 다른 데이터베이스의 다른 테이블에 추가하고 D, E를 다른 데이터베이스의 다른 테이블에 추가해야합니다.

나는 그것이 이상하다는 것을 알고있다. 그러나 나는 이것을 정말로해야한다.

최상의 접근 방법은 무엇입니까?

+0

* 왜 *해야합니까? –

+0

나쁜 DB 디자인은 오래된 프로그래머가 속한 ... 프로젝트 관리자는 더 나은 것을 요구합니다. 따라서 기존 데이터를 새로운 데이터로 마이그레이션해야합니다. – JCasso

답변

1

천 개의 행은 거의 없습니다. 나는 심지어 SQL Server가 수백만을 처리 할 수 ​​있다고 확신합니다.

하지만 앞으로 나아가고 싶다면 다음의 가짜 코드를 사용할 수 있습니다.

INSERT INTO SecondTable 
SELECT id, A, B, C 
FROM CurrentTable 

INSERT INTO ThirdTable 
SELECT id, D, E 
FROM CurrentTable 

이 코드는 두 번째 및 세 번째 테이블이 비어 있다고 가정합니다. 만약 그들이 아니에요 그리고 당신은이 사건을 처리하기 위해 위의 코드를 확장하는 것이 어렵지 않아야 (말)의 ID에 일치해야합니다.

+0

SQL 서버는 디스크 공간, 메모리 및 사용 가능한 CPU로만 제한됩니다. 행 수는 상대적입니다. 좋은 기계에서 제대로 구성하면 방위에서 막대한 부하를 쉽게 처리 할 수 ​​있습니다. –

+0

테이블에 천 개의 행이 있다고 표시되면 비어 있지 않음을 지적하기 만하면됩니다. 어쨌든 가장 쉬운 방법은 선택된 값을 삽입하는 것입니다. – JCasso

관련 문제