码迷,mamicode.com
首页 > 数据库 > 详细

Mysql 提交Big sql的过程

时间:2015-03-05 23:34:12      阅读:212      评论:0      收藏:0      [点我收藏+]

标签:

1 sql 提交时,mysql服务器首先通过参数max_allowed_packet检查sql的size,如果超出,则直接提示mysql go away.

2 server 从存储将需要修改的数据page load到内存(受制于innodb_buffer_pool_size)中。

3 写page,同时写redo undo log.

4 如果sql size 超过redo undo log 的buffer设定(innodb_log_file_size,innodb_log_files_in_group)则,redo undo log 写入磁盘。

   这样的变化可以通过参数Innodb_log_waits (show global status)观察到。

5 当 commit 发生时,首先提交undo/redo log 到磁盘中,然后再将dirty page 写入磁盘(也可能仍然缓存在innodb_buffer_pool_size中)。

6 如果未提交完成断电,此时checkpoint 之前的数据能够正确的保证一致性和原则性。

待续

 

Mysql 提交Big sql的过程

标签:

原文地址:http://www.cnblogs.com/dogharry/p/4316946.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!