--extended-insert 这个参数如何
时间: 2023-08-14 10:04:37 浏览: 90
Linux中使用mysqladmin extended-status配合Linux命令查看MySQL运行状态
`--extended-insert` 是 `mysqldump` 命令行工具的一个参数,用于生成多行的 `INSERT` 语句,以减少备份文件的大小和提高导入数据的效率。默认情况下,`mysqldump` 会为每一行数据生成一个 `INSERT` 语句,这样会导致备份文件非常大,而且在导入数据时也会变得非常慢。使用 `--extended-insert` 参数可以将多行数据合并成一个 `INSERT` 语句,从而减小备份文件的大小,提高导入数据的效率。
举个例子,假设有一个名为 `test` 的表,其中有 10 条数据,如果不使用 `--extended-insert` 参数,则备份文件中会有 10 条 `INSERT` 语句,如下所示:
```
INSERT INTO test VALUES (1, 'aaa');
INSERT INTO test VALUES (2, 'bbb');
INSERT INTO test VALUES (3, 'ccc');
INSERT INTO test VALUES (4, 'ddd');
INSERT INTO test VALUES (5, 'eee');
INSERT INTO test VALUES (6, 'fff');
INSERT INTO test VALUES (7, 'ggg');
INSERT INTO test VALUES (8, 'hhh');
INSERT INTO test VALUES (9, 'iii');
INSERT INTO test VALUES (10, 'jjj');
```
而使用 `--extended-insert` 参数,则备份文件中只有一条 `INSERT` 语句,如下所示:
```
INSERT INTO test VALUES (1, 'aaa'), (2, 'bbb'), (3, 'ccc'), (4, 'ddd'), (5, 'eee'), (6, 'fff'), (7, 'ggg'), (8, 'hhh'), (9, 'iii'), (10, 'jjj');
```
可以看到,使用 `--extended-insert` 参数可以将多行数据合并成一个 `INSERT` 语句,从而减小备份文件的大小,提高导入数据的效率。不过,需要注意的是,如果备份的数据量非常大,那么生成的单个 `INSERT` 语句的长度可能会超过 MySQL 服务器的限制,这时需要使用 `--max-allowed-packet` 参数来增加 MySQL 服务器的限制。
阅读全文