MySQL 쿼리 일괄 삽입 일괄 업데이트 최적화 세부 정보 소개

黄舟
풀어 주다: 2017-03-04 14:36:42
원래의
2162명이 탐색했습니다.

최근 mysql을 공부하면서 mysql 배치 삽입과 배치 업데이트의 효율성이 낮다는 문제에 부딪혔습니다. 이전에 sqlserver를 사용해 본 적이 있는데, mysql 자체의 효율성은 꽤 좋은 편입니다. 여기서는 효율성 향상 방법을 기록하겠습니다. 시간을 비교하지 않고도 실제 테스트 결과의 효율성이 크게 향상되었습니다.

테이블 구조 생성

1 DROP TABLE IF EXISTS `b_student`;
2 CREATE TABLE `b_student` (
3   `id` int(11) NOT NULL AUTO_INCREMENT,
4   `examcode` varchar(20) CHARACTER SET gbk NOT NULL DEFAULT '',
5   `stucode` varchar(20) CHARACTER SET gbk NOT NULL DEFAULT '',
6   `name` varchar(20) CHARACTER SET gbk NOT NULL DEFAULT '',
7   PRIMARY KEY (`id`)
8 ) ENGINE=InnoDB AUTO_INCREMENT=1 DEFAULT CHARSET=utf8;
로그인 후 복사

쿼리 최적화, 시나리오 검사코드가 존재하는지 확인하는 것입니다

SELECT 1 FROM b_student WHERE examcode='10001'  limit 1;
로그인 후 복사

질의 결과가 1이면 존재하고, 결과가 null이면 존재하지 않는다는 뜻입니다

일괄 삽입 최적화 , 학생 정보 시나리오 일괄 삽입

INSERT INTO `b_student` (`examcode`,`stucode`,`name`) VALUES('10001','10001','张三'),('10002','10002','李四');
로그인 후 복사

일괄 업데이트 최적화, 시나리오 일괄 업데이트 학생 정보

여기서 일괄 삽입은 두 가지 방법(테이블에 기본 키가 있어야 함)을 소개하며 그 외의 방법도 있습니다.

1. 대체 방법은 기본 키를 기반으로 특정 열을 업데이트합니다. 참고: 이 방법은 ID와 이름을 제외한 열을 지웁니다.

replace into b_student (id,name) values (1,'张三丰'),(2,'李思思');
로그인 후 복사

2. 중복 키 업데이트 방법에 삽입, 기본 키에 따라 업데이트 후 정의된 열 업데이트

insert into b_student (id,stucode) values (1,'20001'),(2,'20002') on duplicate key update stucode=values(stucode);
로그인 후 복사

위의 두 가지 방법은 일괄 업데이트에 매우 효율적입니다.

위 내용은 MySQL 쿼리, 일괄 삽입, 일괄 업데이트 및 최적화에 대한 자세한 소개입니다. 더 많은 관련 내용은 PHP 중국어 홈페이지(www.php.cn)를 참고해주세요!


원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿
회사 소개 부인 성명 Sitemap
PHP 중국어 웹사이트:공공복지 온라인 PHP 교육,PHP 학습자의 빠른 성장을 도와주세요!