2012-04-30 4 views
1

SQL Server 2005를 사용하여 테이블의 일부 열에 전체 텍스트 인덱스를 만들 필요가 있습니다. 길이는 행 크기 (8KB)보다 큽니다 (레코드 당 고유 키가 하나씩 있음). 간단히 행의 길이를 무시해야합니까, 아니면 이것에 대한 해결책입니까? 상황은 다음과 같습니다.SQL 서버, 전체 텍스트 인덱스 또는 행 길이를 선호합니까?

전체 레코드 (레코드의 모든 텍스트 열, 예를 들어 기사)와 관련된 (전체 텍스트 인덱스에서) 행 ID와 순위를 얻으려면이 테이블의 모든 텍스트 열이있는 테이블을 만들어야합니다. 그러나 나는 합계가 8KB 행 크기 (SQL 서버에 의해 정의 됨)를 초과하는 여러 개의 큰 열을가집니다.

현재 상태 : 모든 언어의 모든 텍스트는 하나 개의 테이블에 있습니다

idParent | langId | textType | content 
------------------------------------------------- 
12  | en  | title | 'Title of article' 

새로운 상태 : 전체 텍스트 인덱스에서 오른쪽 계수를 얻을 수 있습니다 :

id | title | contentA | contentB | contentC | contentD | contendE | content F ... 
---------------------------------------------------------------------------------- 
12 | 'Title' | ... 

나는 언어 특성의 혜택을 원하는 경우 전체 텍스트 인덱스에 대해 다른 언어로 데이터를 다른 테이블/열에 저장해야합니까 (열에 언어를 설정할 수 있도록하려면)? 또는 lang 식별자 (lang id가 포함 된 열)가있는 하나의 테이블에 데이터가있는 다른 솔루션입니까?

감사합니다.

답변

0

첫 번째 질문을 이해하지 못했습니까?

두 번째로, 전체 텍스트가 다른 언어로 작동하게하려면 카탈로그의 각 언어에 대한 열에 있어야합니다. 전체 텍스트는 데이터 정렬에 크게 의존합니다 (다른 언어 = 다른 데이터 정렬)

+0

내 질문의 첫 번째 부분에서 "예, 행 길이 제한 무시"라고 대답하는 것처럼 보입니다. 정말 사실입니까? – Fanda

+0

아니요, 제가 말했듯이, 저는 당신의 첫 번째 질문을 이해하지 못했습니다. 그래서 나는 두 번째 질문에만 답했다. – Diego

+0

나는 나의 초기 질문을 편집했다. 시간 내 주셔서 감사합니다. – Fanda

관련 문제