批量插入sql技巧

2022-01-11 06:50:44 字數 887 閱讀 2037

方式一:

insert

into `insert_table` (`datetime`, `uid`, `content`, `type`) values ('

0', '

userid_0

', '

content_0

', 0

);insert

into `insert_table` (`datetime`, `uid`, `content`, `type`) values ('

1', '

userid_1

', '

content_1

', 1);

方式二:

insert

into `insert_table` (`datetime`, `uid`, `content`, `type`) values ('

0', '

userid_0

', '

content_0

', 0), ('

1', '

userid_1

', '

content_1

', 1);

第二種比較好。第二種的sql執行效率高的主要原因是合併後日誌量(mysql的binlog和innodb的事務讓日誌)減少了,降低日誌刷盤的資料量和頻率,從而提高效率。

通過合併sql語句,同時也能減少sql語句解析的次數,減少網路傳輸的io。當sql指令送達mysql伺服器後,在執行之前,還必須經過編譯、解釋、詞法分析、語義分析等過程,才可以被執行!

sql語句是有長度限制,在進行資料合併在同一sql中務必不能超過sql長度限制,通過max_allowed_packet配置可以修改,預設是1m,測試時修改為8m。

批量插入SQL

sql語句是有長度限制,在進行資料合併在同一sql中務必不能超過sql長度限制,通過max allowed packet配置可以修改,預設是1m,測試時修改為8m。事務需要控制大小,事務太大可能會影響執行的效率。mysql有 innodb log buffer size 配置項,超過這個值會把inn...

sql批量插入

批量插入 第一種 insert into mytable id,name values 1,123 insert into mytable id,name values 2,456 insert into mytable id,name values 3,789 第二種方法,使用union all來...

SQL批量插入資料

select frompersonsp 批量插入 insert intopersonsvalues bx9 z 上海 松江 2 bx1 z 上海 松江 2 bx2 z 上海 松江 2 bx3 z 上海 松江 2 bx4 z 上海 松江 2 bx5 z 上海 松江 2 bx6 z 上海 松江 2 bx...