最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Mysql數(shù)據(jù)庫中的redo?log?寫入策略和binlog?寫入策略

 更新時(shí)間:2022年04月26日 09:09:42   作者:男人要霸氣  
這篇文章主要介紹了Mysql?redo?log?寫入策略和binlog?寫入策略,通過本文學(xué)習(xí)可以了解redo?log的寫入策略是由InnoDB提供了innodb_flush_log_at_trx_commit參數(shù),binlog的寫入策略,write?和fsync的時(shí)機(jī),是由參數(shù)sync_binlog控制的,需要的朋友可以參考下

redo log的寫入策略

InnoDB提供了innodb_flush_log_at_trx_commit參數(shù),它有三種可能取值:

  • 設(shè)置為0的時(shí)候,表示每次事務(wù)提交時(shí)都只是把redo log留在redo log buffer中;
  • 設(shè)置為1的時(shí)候,表示每次事務(wù)提交時(shí)都將redo log直接持久化到磁盤;
  • 設(shè)置為2的時(shí)候,表示每次事務(wù)提交時(shí)都只是把redo log寫到page cache。

查看mysql變量:show VARIABLES LIKE 'innodb_flush_log_at_trx_commit'

binlog的寫入策略

binlog的寫入策略,write 和fsync的時(shí)機(jī),是由參數(shù)sync_binlog控制的:

  • sync_binlog=0的時(shí)候,表示每次提交事務(wù)都只write,不fsync
  • sync_binlog=1的時(shí)候,表示每次提交事務(wù)都會(huì)執(zhí)行fsync;
  • sync_binlog=N(N>1)的時(shí)候,表示每次提交事務(wù)都write,但累積N個(gè)事務(wù)后才fsync。

因此,在出現(xiàn)IO瓶頸的場景里,將sync_binlog設(shè)置成一個(gè)比較大的值,可以提升性能。在實(shí)際的業(yè)務(wù)場景中,考慮到丟失日志量的可控性,一般不建議將這個(gè)參數(shù)設(shè)成0,比較常見的是將其設(shè)置為100~1000中的某個(gè)數(shù)值。

但是,將sync_binlog設(shè)置為N,對應(yīng)的風(fēng)險(xiǎn)是:如果主機(jī)發(fā)生異常重啟,會(huì)丟失最近N個(gè)事務(wù)的binlog日志。

生產(chǎn)配置

通常情況下,生產(chǎn)都是" 雙1 "的配置,也就是sync_binloginnodb_flush_log_at_trx_commit 的配置都是1,也就是說,一個(gè)事務(wù)完整提交前,需要等待兩次刷盤,一次是redo log,一次是binlog。

性能瓶頸

如果你的MySQL現(xiàn)在出現(xiàn)了性能瓶頸,而且瓶頸在IO上,可以通過哪些方法來提升性能呢?

針對這個(gè)問題,可以考慮以下三種方法:

  • 設(shè)置 binlog_group_commit_sync_delaybinlog_group_commit_sync_no_delay_count參數(shù),減少binlog的寫盤次數(shù)。這個(gè)方法是基于“額外的故意等待”來實(shí)現(xiàn)的,因此可能會(huì)增加語句的響應(yīng)時(shí)間,但沒有丟失數(shù)據(jù)的風(fēng)險(xiǎn)。
  • sync_binlog 設(shè)置為大于1的值(比較常見是100~1000)。這樣做的風(fēng)險(xiǎn)是,主機(jī)掉電時(shí)會(huì)丟binlog日志。
  • innodb_flush_log_at_trx_commit設(shè)置為2。這樣做的風(fēng)險(xiǎn)是,主機(jī)掉電的時(shí)候會(huì)丟數(shù)據(jù)。

我不建議你把innodb_flush_log_at_trx_commit 設(shè)置成0。因?yàn)榘堰@個(gè)參數(shù)設(shè)置成0,表示redo log只保存在內(nèi)存中,這樣的話MySQL本身異常重啟也會(huì)丟數(shù)據(jù),風(fēng)險(xiǎn)太大。而redo log寫到文件系統(tǒng)的page cache的速度也是很快的,所以將這個(gè)參數(shù)設(shè)置成2跟設(shè)置成0其實(shí)性能差不多,但這樣做MySQL異常重啟時(shí)就不會(huì)丟數(shù)據(jù)了,相比之下風(fēng)險(xiǎn)會(huì)更小。

到此這篇關(guān)于Mysql redo log 寫入策略和binlog 寫入策略的文章就介紹到這了,更多相關(guān)Mysq寫入策略內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • MySQL數(shù)據(jù)庫配置優(yōu)化的方案

    MySQL數(shù)據(jù)庫配置優(yōu)化的方案

    我們總是希望MySQL能夠獲得更高的查詢性能,最好的辦法是弄清楚MySQL是如何優(yōu)化和執(zhí)行查詢的。本文講解MySQL在各個(gè)方面的優(yōu)化方向,方便后端開發(fā)人員在調(diào)優(yōu)和問題排查過程中找到切入點(diǎn)
    2023-02-02
  • mysql查詢上下級(jí)機(jī)構(gòu)的方法實(shí)例

    mysql查詢上下級(jí)機(jī)構(gòu)的方法實(shí)例

    大家應(yīng)該都知道表里有上下級(jí)機(jī)構(gòu)的,下面這篇文章主要給大家介紹了關(guān)于mysql查詢上下級(jí)機(jī)構(gòu)的相關(guān)資料,文中通過實(shí)例代碼介紹的非常詳細(xì),需要的朋友可以參考下
    2022-04-04
  • MySQL日志UndoLog的作用

    MySQL日志UndoLog的作用

    UndoLog是InnoDB用于事務(wù)回滾和MVCC的重要機(jī)制,本文主要介紹了MySQL日志UndoLog的作用,文中介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-12-12
  • MySql存儲(chǔ)表情報(bào)錯(cuò)的排查解決

    MySql存儲(chǔ)表情報(bào)錯(cuò)的排查解決

    隨著互聯(lián)網(wǎng)的發(fā)展,產(chǎn)生了許多新類型的字符,例如emoji這種類型的符號(hào),也就是我們通常在聊天時(shí)發(fā)的小黃臉表情,下面這篇文章主要給大家介紹了關(guān)于MySql存儲(chǔ)表情報(bào)錯(cuò)的排查解決,需要的朋友可以參考下
    2022-07-07
  • MySQL實(shí)現(xiàn)查詢某個(gè)字段含有字母數(shù)字的值

    MySQL實(shí)現(xiàn)查詢某個(gè)字段含有字母數(shù)字的值

    這篇文章主要介紹了MySQL實(shí)現(xiàn)查詢某個(gè)字段含有字母數(shù)字的值方式,具有很好的參考價(jià)值,希望對大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2024-07-07
  • MySQL流程控制語句解讀

    MySQL流程控制語句解讀

    MySQL存儲(chǔ)過程支持多種流程控制語句,如IF、CASE、WHILE、LOOP、REPEAT等,每種語句有特定的執(zhí)行邏輯,用于實(shí)現(xiàn)條件判斷和循環(huán)操作
    2024-11-11
  • 解析mysql 5.5字符集問題

    解析mysql 5.5字符集問題

    本篇文章是對關(guān)于mysql 5.5字符集的問題進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL多表連接查詢詳解

    MySQL多表連接查詢詳解

    這篇文章主要介紹了MySQL多表查詢,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2021-08-08
  • ERROR 1222 (21000): The used SELECT statements have a different number of columns

    ERROR 1222 (21000): The used SELECT statements have a differ

    mysql 提示SQL-ERROR summary different number of columns
    2011-07-07
  • 常用的SQL例句 數(shù)據(jù)庫開發(fā)所需知識(shí)

    常用的SQL例句 數(shù)據(jù)庫開發(fā)所需知識(shí)

    常用的SQL例句全部懂了,你的數(shù)據(jù)庫開發(fā)所需知識(shí)就夠用了
    2011-11-11

最新評(píng)論

航空| 兴隆县| 黄陵县| 疏附县| 衡东县| 海原县| 绵竹市| 新化县| 容城县| 六盘水市| 景宁| 寿阳县| 宜州市| 安图县| 娄底市| 南涧| 安丘市| 偃师市| 博湖县| 崇礼县| 勃利县| 郸城县| 错那县| 金平| 临海市| 武威市| 阿克苏市| 南岸区| 仁寿县| 无棣县| 泸州市| 彭州市| 繁昌县| 阿巴嘎旗| 肇源县| 周至县| 兴义市| 祁东县| 泽库县| 商丘市| 伊吾县|