it-source

SQL 서버 테이블에 대량의 텍스트를 저장하는 가장 좋은 방법은 무엇입니까?

criticalcode 2023. 8. 14. 22:56
반응형

SQL 서버 테이블에 대량의 텍스트를 저장하는 가장 좋은 방법은 무엇입니까?

SQL 서버에서 테이블에 많은 양의 텍스트를 저장하는 가장 좋은 방법은 무엇입니까?

varchar(max)는 신뢰할 수 있습니까?

SQL 2005 이상에서는 VARCHAR(MAX)이 실제로 선호되는 방법입니다.TEXT 유형은 계속 사용할 수 있지만 주로 SQL 2000 이하와 이전 버전과의 호환성을 위해 사용됩니다.

표준 VARCHAR 필드처럼 작동하기 때문에 VARCHAR(MAX)(또는 실제로 NVARCHAR)를 사용하는 것을 좋아합니다.서론이기 때문에 가능하면 TEXT 필드보다는 사용합니다.

Varchar(max)는 SQL 2005 이상에서만 사용할 수 있습니다.최대 2GB까지 저장되며 일반 바하로 처리할 수 있습니다.SQL 2005 이전에는 "텍스트" 유형을 사용합니다.

여기 있는 텍스트에 따르면, varbinary(max)가 방법입니다.약 2GB의 데이터를 저장할 수 있습니다.

텍스트를 데이터베이스가 실제로 처리할 수 있는 청크로 분할합니다.그리고 분할된 텍스트를 다른 표에 넣습니다.사용id에서text_chunk로서의 표.text_chunk_id원래 테이블에 있습니다.가장 큰 텍스트 데이터 유형 내에 맞는 텍스트를 유지하기 위해 테이블의 다른 열을 사용할 수 있습니다.

CREATE TABLE text_chunk (
     id NUMBER,
     chunk_sequence NUMBER,
     text BIGTEXT)

BLOB에서

BLOB는 데이터베이스에 저장할 수 있는 문서(.txt, .doc) 및 그림(.jpeg, .gif, .bmp)과 같은 매우 큰 변수 이진 또는 문자 데이터입니다.SQL Server에서 BLOB는 텍스트, ntext 또는 이미지 데이터 유형일 수 있으며 텍스트 유형을 사용할 수 있습니다.

본문

최대 길이가 231 - 1(2,147,483,647)자인 서버의 코드 페이지에 저장된 가변 길이 비 유니코드 데이터.

상황에 따라 고려해야 할 설계 대안은 서버에 .txt 파일로 저장하고 파일 경로를 데이터베이스에 저장하는 것입니다.

사용하다nvarchar(max)전체 대화 스레드를 단일 레코드에 저장합니다.각 개별 텍스트 메시지(또는 블록)는 내용 텍스트에서 마커를 삽입하여 식별됩니다.

예:

{{UserId: Date and time}}<Chat Text>. 

표시 시간에 UI는 이 마커를 이해하고 올바르게 표시할 수 있을 정도로 지능적이어야 합니다.이 방법은 크기 제한에 도달하지 않는 한 하나의 레코드로 단일 대화에 충분합니다.

언급URL : https://stackoverflow.com/questions/140550/what-is-the-best-way-to-store-a-large-amount-of-text-in-a-sql-server-table

반응형