2016-09-05 3 views
0

다른 키 스펙을 기반으로 동일한 데이터의 저장 및 검색을 모델링하려는 RDBMS에 두 개의 테이블이 있다고 가정합니다. 표 저장 한 문자 열에서 전체 키 표 2 저장과 같이 복수 열의 키 :하나의 열 키 또는 여러 열 키?

표 1 : 키 = 문자열 값 = 데이터

표 2 = COL1 문자열 COL2 = 문자열 값 = 데이터

표 1 키에는 col1과 col2의 조합과 같은 정보가 포함되어 있으며, 예를 들어 잠재적 구분 기호가 사용됩니다. key = "NASDAQ/SUNW", col1 = "NASDAQ", col2 = "SUNW"

효율적인 데이터 검색에 관심이 있습니다. Table1을 사용하는 것이 Table2보다 더 효율적입니까?

답변

2

키에 값이 여러 개인 경우 별도의 열로 구분해야합니다. 그렇게하면 필요에 따라 색인을 개별적으로 색인 생성 할 수 있습니다 (예 : 두 번째 값으로 결과 집합을 필터링 할 수 있어야하는 경우 (예에서 SUNW를 사용하여 모든 레코드를 찾아야하는 경우를 상상해보십시오).

대개 쉼표로 구분 된 값을 단일 데이터베이스 열에 넣으면 probaly가 잘못 처리됩니다.

+0

정규 표현식 ". * SUNW. *"을 사용하여 쿼리하는 것이 훨씬 더 비쌉니까? – andrewz

+0

예. SUNW가 별도의 열에 있으면 열을 색인화하고 B- 트리 검색 (빠른)을 수행하여 해당 값을 갖는 모든 행을 찾을 수 있습니다. 그러나 다른 열과 함께 열에 묻혀 있다면 테이블 검색 (느리게)을 수행하여 찾아야합니다. –