현재 많은 필드 (nvarchars 및 bigints)를 사용하여 큰 데이터베이스 (500MB - 10GB 이상, 10 개 테이블)를 검색하는 방법을 찾고 있습니다. 검색해야하는 많은 필드가 동일한 테이블에 없습니다.MS Sql 전체 텍스트 검색 vs. LIKE 식
예 : '5124 피터'에 대한 검색, 모든 항목을 반환해야하는 ...
- 가에서 5124으로 ID를 가지고,
- 은 제목이나 설명 에서 '피터'가
- 는 id가있다 5124 그것을
- 에서 자신의 주소에 '5124'또는 '피터'와 사용자가 만든 '피터'라는 이름의 사용자 또는 사용자가 만든
- 에서 5124으로 항목 유형 ID를 가지고있다.
검색은 어떻게해야합니까? 나는 MS-SQL의 전체 텍스트 검색이 LIKE 키워드를 사용하는 쿼리보다 훨씬 더 성능이 좋으며 문법이 더 명확하다고 생각하지만 bigint (id) 값을 검색 할 수 없다고 생각한다. 성능에 문제가있어 DB에 대한 삽입 속도가 느려집니다. 내 프로젝트에는 독서보다 더 많은 삽입이 있으므로 문제가 될 수 있습니다. 사전에
감사합니다, 마크
나는 더 많은 시간이있을 때 이것들을 봐야 만하지만 MS SQL Server 만 사용한다면 해결책을 알고 싶습니다. – Marks
전체 텍스트 검색을 사용하여 비 정수 (ID) 열을 검색 할 수 있습니다. 그런 다음 검색 쿼리에서 숫자를 추출하고 표준 SQL select 쿼리를 사용하여 정수 (ID) 열을 테스트합니다. 인덱싱 성능 문제를 완화하는 데 도움이되는 몇 가지 기술이 있습니다. http://stackoverflow.com/questions/933351/ms-sql-server-2000-slow-full-text-indexing을 참조하십시오. – Mike