8.11.3 Concurrent Inserts 并发插入:

8.11.3 Concurrent Inserts 并发插入:

MyISAM 存储引擎支持并发的插入来降低在读和写一个表时候的冲突,

如果一个MyISAM 表没有孔在数据文件里(删除中间的记录),

一个INSERT 语句被执行增加记录到表的尾部同时SELECT 语句从表里读取数据,

如果有多个INSERT 语句,它们将按序列进行,并发的SELECT 语句。

结果是并发的INSERT可能不可见。

concurrent_insert 变量能设置来修改并发插入处理, 默认的,

变量是设置为AUTO(或者1), 并发插入被处理如前面描述的。

如果concurrent_insert设置为 NEVER (or 0), 并发插入被禁言。

如果该变量设置为ALWAYS (or 2), 并发插入在表的尾端是允许的。

在这种境遇下,并发的插入可以被使用,很少需要使用延迟修改器来插入语句。

如果你使用binary log,并发的inserts 会转换为普通的insert 对于CREATE … SELECT or INSERT … SELECT statements

这些是为了确保创建一个准确的你的表的copy 通过应用log 在你备份期间。

用LOAD DATA INFILE,如果指定并发并发插入一个满足条件的MyISAM表(即,它包含在中间没有空闲块),其他会话可以检索数据从表而负荷数据执行。使用并发选项会影响负载数据的性能,即使没有其他会话在同一时间使用该表

如果你指定HIGH_PRIORITY, 它推翻了——低优先级更新选项的作用如果服务器启动选项。它也导致不使用的并发插入。

原文地址:https://www.cnblogs.com/hzcya1995/p/13351398.html