선택 항목에 일괄 삽입하는 방법
May 10, 2024 am 12:36 AM일괄 삽입에 INSERT INTO SELECT 문을 사용하면 대량의 데이터 삽입 효율성을 효과적으로 향상시킬 수 있습니다. 구체적인 단계는 다음과 같습니다. 일괄 처리 크기를 결정합니다. 수천 행이 권장됩니다. 삽입할 데이터의 하위 집합을 저장할 임시 테이블을 만듭니다. INSERT INTO SELECT 문을 사용하여 소스 테이블의 데이터를 임시 테이블에 삽입하고, LIMIT 절을 사용하여 한 번에 삽입되는 행 수를 제한합니다. INSERT INTO SELECT 문을 다시 사용하여 임시 테이블의 데이터를 대상 테이블에 삽입합니다. 더 이상 필요하지 않은 임시 테이블을 삭제합니다.
INSERT INTO SELECT 문을 사용하여 일괄 삽입하는 방법
한 테이블에서 다른 테이블로 많은 양의 데이터를 삽입해야 하는 경우 INSERT INTO SELECT
를 사용하세요. 일괄 삽입을 위한 문 삽입은 효율성을 향상시킬 수 있습니다. 일괄 삽입은 대규모 삽입 작업을 더 작은 일괄 처리로 나누어 데이터베이스 서버의 스트레스를 줄이는 방식으로 구현됩니다. INSERT INTO SELECT
语句进行分批插入可以提高效率。分批插入通过将大型插入操作分解成较小的批次来实现,从而减少对数据库服务器的压力。
步骤:
- 确定批次大小: 选择一个合适的批次大小,既能充分利用数据库服务器的资源,又不占用过多内存。一个好的经验法则是将批次大小设置为几千行。
- 创建临时表: 创建一个临时表来存储要插入的数据的子集。临时表只在当前会话中存在,可用于将数据划分为批次。
-
使用 INSERT INTO SELECT 语句插入数据: 编写一个
INSERT INTO SELECT
语句,将数据从源表插入到临时表。使用LIMIT
子句限制每次插入的行数,以创建一个批次。
INSERT INTO #temp_table SELECT TOP (@batch_size) * FROM source_table WHERE NOT EXISTS (SELECT 1 FROM destination_table WHERE id = source_table.id);
- 从临时表插入到目标表: 再次使用
INSERT INTO SELECT
语句,将数据从临时表插入到目标表。
INSERT INTO destination_table SELECT * FROM #temp_table;
- 删除临时表: 插入完成后,删除不再需要的临时表。
DROP TABLE #temp_table;
优点:
- 提高插入性能
- 减少对数据库服务器的压力
- 便于控制批次大小
注意:
- 使用
IDENTITY_INSERT
- 단계:
INSERT INTO SELECT
문을 작성하세요. 배치를 생성하기 위해 한 번에 삽입되는 행 수를 제한하려면 LIMIT
절을 사용합니다. 🎜rrreee- 🎜🎜임시 테이블에서 대상 테이블로 삽입: 🎜
INSERT INTO SELECT
문을 다시 사용하여 임시 테이블의 데이터를 대상 테이블에 삽입합니다. . 🎜- 🎜🎜임시 테이블 삭제: 🎜 삽입이 완료된 후 더 이상 필요하지 않은 임시 테이블을 삭제하세요. 🎜
- 🎜삽입 성능 향상🎜🎜데이터베이스 서버에 대한 부담 감소🎜🎜배치 크기 제어가 용이함🎜🎜🎜🎜참고:🎜🎜
- 🎜
를 사용하세요. IDENTITY_INSERT
옵션으로 인해 기본 키 충돌이 발생할 수 있습니다. 🎜🎜소스 테이블과 대상 테이블에 호환 가능한 스키마가 있는지 확인하세요. 🎜🎜데이터 무결성을 보장하기 위해 삽입 프로세스를 모니터링하세요. 🎜🎜위 내용은 선택 항목에 일괄 삽입하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

인기 기사

인기 기사

뜨거운 기사 태그

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

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

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

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

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

뜨거운 주제









