>백엔드 개발 >PHP 튜토리얼 >像这样的sql语句,mysql编译几次

像这样的sql语句,mysql编译几次

WBOY
WBOY원래의
2016-06-06 20:06:461081검색

insert into table values (null,'abc','123@qq.com');
insert into table values (null,'abc','123@qq.com');
insert into table values (null,'abc','123@qq.com');
这样执行3次,在mysql中编译3次

那这样的语句
insert into table values
(null,'abc','123@qq.com'),
(null,'abc','123@qq.com'),
(null,'abc','123@qq.com');
在mysql中编译几次?1次还是3次

回复内容:

insert into table values (null,'abc','123@qq.com');
insert into table values (null,'abc','123@qq.com');
insert into table values (null,'abc','123@qq.com');
这样执行3次,在mysql中编译3次

那这样的语句
insert into table values
(null,'abc','123@qq.com'),
(null,'abc','123@qq.com'),
(null,'abc','123@qq.com');
在mysql中编译几次?1次还是3次

内核没研究那么透,所以两者的具体的执行原理不是特别清楚

但是非常肯定的是批量插入效率高,SQL解析是按语句来的,所以你第一个例子是解析3条SQL语句,第二个例子是解析1条SQL语句

从IO消耗上来讲,每个SQL语句都要写一次binlog,所以批量insert只要写入一次,如果insert多的情况,性能差别会更大

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.