如何在mysql中设置bulk_insert_buffer_size?

Aam*_*mir 4 mysql myisam mysql-5.5

我想设置用于插入的bulk_insert_buffer_size变量。我也从其他页面搜索过,他们都在说my.cnf。但我的系统中没有my.cnf。我检查了my.ini,那里没有这样的变量。

我也尝试通过命令行 -

SET GLOBAL bulk_insert_buffer_size= 268435456;
Run Code Online (Sandbox Code Playgroud)

表明 -

1 queries executed, 1 success, 0 errors, 0 warnings

Query: SET GLOBAL bulk_insert_buffer_size =1024*1024*256

0 row(s) affected

Execution Time : 0 sec
Transfer Time  : 0.001 sec
Total Time     : 0.002 sec
Run Code Online (Sandbox Code Playgroud)

但在跑步时——

SHOW VARIABLES LIKE '%bulk%';
Run Code Online (Sandbox Code Playgroud)

我得到了同样的(旧的)-

Variable_name            Value    
bulk_insert_buffer_size  8388608  
Run Code Online (Sandbox Code Playgroud)

如果我做错了什么,请告诉我。我使用的是Mysql 5.5版本。

谢谢。

Rol*_*DBA 6

当你跑的时候

SET GLOBAL bulk_insert_buffer_size =1024*1024*256;
Run Code Online (Sandbox Code Playgroud)

您所做的是将插入缓冲区设置为 256M,以便将来传入的数据库连接

要为当前数据库会话设置它,请在该会话中运行以下命令:

SET bulk_insert_buffer_size =1024*1024*256;
Run Code Online (Sandbox Code Playgroud)

然后,你可以运行

SHOW VARIABLES LIKE '%bulk%';
Run Code Online (Sandbox Code Playgroud)

并看到不同的值。

2013 年 4 月 18 日发布的帖子中(请参阅步骤 2 和 3),我建议在当前会话中将bulk_insert_buffer_size 设置为 256M。

如果你想在重启mysql时保留该值,只需将其添加到my.cnf

[mysqld]
bulk_insert_buffer_size = 256M
Run Code Online (Sandbox Code Playgroud)

试一试 !!!