SQL Server 데이터베이스의 모든 테이블과 열에서 문자열을 효율적으로 검색하려면 어떻게 해야 합니까?
데이터베이스 미로에서 문자열 검색: SQL Server 모험
넓은 데이터베이스를 탐색하는 것은 어려울 수 있습니다. 특히 특정 데이터의 출처를 찾으려고 합니다. SQL Server 2005는 모든 테이블, 행, 열에 대한 포괄적인 검색이라는 강력한 솔루션을 제공합니다.
이 검색을 시작하려면 제공된 코드를 자세히 살펴보겠습니다.
DECLARE @search_string VARCHAR(100), @table_name SYSNAME, @table_schema SYSNAME, @column_name SYSNAME, @sql_string VARCHAR(2000)
검색 문자열, 테이블 정보, SQL 쿼리를 저장할 변수를 선언하는 것으로 시작합니다.
SET @search_string = 'Test'
다음으로 정의합니다. 테이블과 열을 반복하는 커서:
DECLARE tables_cur CURSOR FOR SELECT TABLE_SCHEMA, TABLE_NAME FROM INFORMATION_SCHEMA.TABLES WHERE TABLE_TYPE = 'BASE TABLE' DECLARE columns_cur CURSOR FOR SELECT COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_SCHEMA = @table_schema AND TABLE_NAME = @table_name AND COLLATION_NAME IS NOT NULL
문자열에만 null이 아닌 데이터 정렬이 있으므로 검색을 기본 테이블로 제한하고 열에 초점을 맞춥니다.
메인 루프가 반복됩니다. 테이블 및 열에 대해:
OPEN tables_cur FETCH NEXT FROM tables_cur INTO @table_schema, @table_name WHILE (@@FETCH_STATUS = 0) BEGIN OPEN columns_cur FETCH NEXT FROM columns_cur INTO @column_name WHILE (@@FETCH_STATUS = 0) BEGIN SET @sql_string = 'IF EXISTS (SELECT * FROM ' + QUOTENAME(@table_schema) + '.' + QUOTENAME(@table_name) + ' WHERE ' + QUOTENAME(@column_name) + ' LIKE ''%' + @search_string + '%'') PRINT ''' + QUOTENAME(@table_schema) + '.' + QUOTENAME(@table_name) + ', ' + QUOTENAME(@column_name) + '''' EXECUTE(@sql_string) FETCH NEXT FROM columns_cur INTO @column_name END CLOSE columns_cur DEALLOCATE columns_cur FETCH NEXT FROM tables_cur INTO @table_schema, @table_name END CLOSE tables_cur DEALLOCATE tables_cur
각 테이블-열 조합에 대해 제공된 문자열을 검색하고 인쇄하는 SQL 쿼리를 구성합니다.
주의 사항:
이 접근 방식은 효과적이기는 하지만 단점도 있습니다.
- 특히 대규모 데이터베이스의 경우 속도가 매우 느립니다.
- 오류 처리가 구현되지 않았으며 엉성할 수 있습니다.
- 데이터베이스의 복잡한 특성을 완전히 이해하고 중복이나 기타 숨겨진 문제를 피하려면 데이터베이스 전문가에게 문의해야 합니다.
대체 접근 방식:
대규모 데이터베이스를 검색하는 또 다른 옵션은 전체 텍스트 검색(FTS)을 사용하는 것입니다. FTS는 이러한 목적으로 설계되었으며 위의 코드보다 훨씬 빠를 수 있습니다. 그러나 FTS용으로 데이터베이스를 구성해야 합니다.
위 내용은 SQL Server 데이터베이스의 모든 테이블과 열에서 문자열을 효율적으로 검색하려면 어떻게 해야 합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

핫 AI 도구

Undresser.AI Undress
사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover
사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool
무료로 이미지를 벗다

Clothoff.io
AI 옷 제거제

AI Hentai Generator
AI Hentai를 무료로 생성하십시오.

인기 기사

뜨거운 도구

메모장++7.3.1
사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전
중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기
강력한 PHP 통합 개발 환경

드림위버 CS6
시각적 웹 개발 도구

SublimeText3 Mac 버전
신 수준의 코드 편집 소프트웨어(SublimeText3)

뜨거운 주제











Alter Table 문을 사용하여 MySQL에서 테이블을 어떻게 변경합니까?

MySQL의 문제를 해결하는 방법 공유 라이브러리를 열 수 없습니다.

Linux에서 MySQL을 실행합니다 (Phpmyadmin이있는 Podman 컨테이너가 포함되지 않음)

인기있는 MySQL GUI 도구는 무엇입니까 (예 : MySQL Workbench, Phpmyadmin)?
