{eval=Array;=+count(Array);}
mysql状态sleep,其实就是空闲链接,刚刚执行的操作已经完成。
insert into table select * from table问题:将内存中的数据写入磁盘?
MySQL的操作,基本都是在内存完成,至于执行SQL会不会马上刷盘,取决于mysql配置的innodb_flush_log_at_tx_commit 参数。来决定是否刷日志到磁盘,刷数据至磁盘。
0: log buffer将每秒一次地写入log file中,并且log file的flush(刷到磁盘)操作同时进行.该模式下,在事务提交的时候,不会主动触发写入磁盘的操作,MySQL崩溃就会丢失1s的事务,无法自动事务恢复。
1: 每次commit时,刷redo日志,确定fsync刷盘,刷新成功才会返回,崩溃,系统断电都不会丢失事务。
2: 每次提交时,刷redo日志到文件系统,不调用fsync刷盘,5.6.6之前是每隔1s刷盘,之后的版本是通过参数innodb_flush_log_at_timeout设置,默认也是1s如。果mysql崩溃,是可以自动事务恢复的,如果是系统断电,会丢失1s事务。
0
回答0
回答0
回答0
回答0
回答0
回答6
回答0
回答0
回答0
回答