sync-binlog=1: 开启在事务提交前将二进制日志刷入磁盘。这是最安全的设置,但是这对磁盘读写会造成负面影响。当碰到断电或系统崩溃的时候,丢失的事务只是进入准备状态,这个 *** 作允许自动恢复程序去回滚这些事务,保证了没有事务会从二进制日志中丢失。
sync-binlog=N: 每向二进制日志文件写入N条SQL或N个事务后,则把二进制日志文件的数据刷新到磁盘上;
innodb_flush_log_at_trx_commit=0: log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘) *** 作同时进行。该模式下在事务提交的时候,不会主动触发写入磁盘的 *** 作。
innodb_flush_log_at_trx_commit=1: 完全遵从ACID,每次事务提交时MySQL都会把log buffer的数据写入log file,并且flush(刷到磁盘)中去。
innodb_flush_log_at_trx_commit=2: 每次事务提交时MySQL都会把log buffer的数据写入log file,但是flush(刷到磁盘) *** 作并不会同时进行。该模式下,MySQL会每秒执行一次 flush(刷到磁盘) *** 作。
指定创建 InnoDB 索引期间用于排序数据的排序缓冲区的大小 这个参数只会在创建索引的过程中被使用,不会用在后面的维护 *** 作;
MyISAM表发生变化时重新排序所需的缓冲;
每个session 分配的排序缓存。
如果"排序的数据大小" <sort_buffer_size ,则为内存排序;如果"排序的数据大小" >sort_buffer_size ,则为磁盘排序
如果max_length_for_sort_data 配置的比较小,可能使用 rowid 排序算法,如果max_length_for_sort_data 配置的比较大,可能使用全字段排序算法
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)