首页 > 数据库技术 > 详细

Mysql 提交Big sql的过程

时间:2015-03-05 23:33:58      阅读:433      评论: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
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!