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

mysql read_buffer_size 設(shè)置多少合適

 更新時(shí)間:2021年03月15日 23:38:15   投稿:mdxy-dxy  
很多朋友都會(huì)問(wèn)mysql read_buffer_size 設(shè)置多少合適,其實(shí)這個(gè)都是根據(jù)自己的內(nèi)存大小等來(lái)設(shè)置的

MySQL手冊(cè)里關(guān)于read_rnd_buffer_size的解釋如下:

“這個(gè)參數(shù)用在sort查詢之后 ,以保證獲取以順序的方式獲取到查詢的數(shù)據(jù)。如果你有很多order by 查詢語(yǔ)句,增長(zhǎng)這值能夠提升性能?!?/p>

這個(gè)解釋足夠簡(jiǎn)練,但沒(méi)有準(zhǔn)確的告訴我們這個(gè)參數(shù)工作在哪一層,SQL層還是引擎層?

老實(shí)說(shuō),這個(gè)參數(shù)和read_buffer_size很像,read_buffer_size僅僅用于MyISAM引擎,我下意識(shí)的也認(rèn)為read_rnd_buffer_size也僅僅用于MyISAM引擎。我今天早和Monty聊了聊,學(xué)到,它不是這樣的。read_rnd_buffer_size不僅僅用在MyISAM引擎,而是用在所有引擎。它用在查詢后,對(duì)讀取真正的數(shù)據(jù)進(jìn)行優(yōu)化。它是這樣工作的:

sort后,得到的是行數(shù)據(jù)指針,通過(guò)key-value的形式存在,對(duì)于MyISAM是數(shù)據(jù)的偏移量,對(duì)于innodb是主鍵或存儲(chǔ)重新查詢的全量數(shù)據(jù)(對(duì)于小片的數(shù)據(jù)是有益的)。

假設(shè)sort后的數(shù)據(jù)使用的是行指針,并且行中的字段能夠被轉(zhuǎn)換成固定的大?。ǔ薆LOB/TEXT字段外),MySQL能夠使用read_rnd_buffer_size優(yōu)化數(shù)據(jù)讀取。

因?yàn)閟ort后的數(shù)據(jù)是以key-value的形式存在的,使用這些行指針去讀取數(shù)據(jù),將是以指針數(shù)據(jù)物理的順序去讀取,很大程度上是隨機(jī)的方式讀取數(shù)據(jù)的。MySQL從sort_buffer中讀取這些行指針數(shù)據(jù),然后通過(guò)指針排序后存入read_rnd_buffer中,之后再通過(guò)指針讀取數(shù)據(jù)時(shí),基本上都是順序讀取了。

read_rnd_buffer_size是很重要的參數(shù),尤其工作在如下場(chǎng)景:

* sort_buffer中存的是行指針而不是要查詢的數(shù)據(jù)。

* 查詢的字段中包含Blob/Text字段。

* sort后有大量的數(shù)據(jù)行(limit 10并不能幫助你,因?yàn)镸ySQL是通過(guò)指針獲取行數(shù)據(jù)的)

如果你取出很少字段的數(shù)據(jù)(小于max_length_for_sort_data),行數(shù)據(jù)將會(huì)全部存儲(chǔ)在sort buffer里,因此將不需要read_rnd_buffer_size這個(gè)參數(shù)。而如果你查詢的字段數(shù)據(jù)很長(zhǎng)(這些字段很可能含有Text/Blob字段),比max_length_for_sort_data還長(zhǎng),read_rnd_buffer_size這個(gè)參數(shù)將派上用場(chǎng)。

下面是其他網(wǎng)友的補(bǔ)充

key_buffer_size + (read_buffer_size + sort_buffer_size)*max_connections = 458624 K

read_buffer_size:是MySQL讀入緩沖區(qū)大小。對(duì)表進(jìn)行順序掃描的請(qǐng)求將分配一個(gè)讀入緩沖區(qū),MySQL會(huì)為它分配一段內(nèi)存緩沖區(qū)。read_buffer_size變量控制這一緩沖區(qū)的大小。如果對(duì)表的順序掃描請(qǐng)求非常頻繁,并且你認(rèn)為頻繁掃描進(jìn)行得太慢,可以通過(guò)增加該變量值以及內(nèi)存緩沖區(qū)大小提高其性能。

如下是對(duì)于16g內(nèi)存的設(shè)置

read_buffer_size = 1M

個(gè)人機(jī)器是32G的,一般數(shù)據(jù)庫(kù)就用來(lái)存儲(chǔ)數(shù)據(jù),很少用mysql 所以我就設(shè)置為2M或3M

手機(jī)在線更新系統(tǒng)MySQL數(shù)據(jù)庫(kù)服務(wù)器參數(shù)優(yōu)化mycnf,16G內(nèi)存8核CPU

業(yè)務(wù)場(chǎng)景:后臺(tái)支持手機(jī)在線更新系統(tǒng),db服務(wù)器內(nèi)存16G,8核,dell的pc服務(wù)器。

qps: 200個(gè)左右
tps: 1個(gè)左右 一分鐘50幾個(gè)

sort_buffer_size = 32M 大了, 8M即可
read_buffer_size = 32M 大了,8M即可
read_rnd_buffer_size = 16M 大了,8M即可
table_open_cache = 512
小了,建議改成2048

max_allowed_packet = 5M
小了,建議改成16M

tmp_table_size=64M
小了,建議改成2G

innodb_buffer_pool_size = 3000M
小了,改成db服務(wù)器總內(nèi)存的60% 到80%

innodb_additional_mem_pool_size = 20M 小了,改成128M

join_buffer_size 這個(gè)參數(shù)為什么沒(méi)有看到,必須設(shè)置值,join_buffer_size = 8M 必須補(bǔ)上,這個(gè)是跟join table 關(guān)聯(lián)的,很重要。

相關(guān)文章

  • mysql 8.0.11安裝配置方法圖文教程

    mysql 8.0.11安裝配置方法圖文教程

    這篇文章主要為大家詳細(xì)介紹了mysql 8.0.11安裝配置方法圖文教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • MySQL數(shù)據(jù)庫(kù)給表添加索引的實(shí)現(xiàn)

    MySQL數(shù)據(jù)庫(kù)給表添加索引的實(shí)現(xiàn)

    在MySQL中,索引是用來(lái)加速數(shù)據(jù)庫(kù)查詢的一種特殊數(shù)據(jù)結(jié)構(gòu),當(dāng)我們需要查詢數(shù)據(jù)庫(kù)中某些數(shù)據(jù)的時(shí)候,如果數(shù)據(jù)庫(kù)中有索引,就可以避免全表掃描,從而提高查詢速度,本文就介紹了如何給表添加索引,感興趣的可以了解一下
    2023-08-08
  • MySQL通過(guò)DQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的條件查詢

    MySQL通過(guò)DQL實(shí)現(xiàn)對(duì)數(shù)據(jù)庫(kù)數(shù)據(jù)的條件查詢

    這篇文章給大家介紹了MySQL如何通過(guò)DQL進(jìn)行數(shù)據(jù)庫(kù)數(shù)據(jù)的條件查詢,文中通過(guò)代碼示例和圖文結(jié)合介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或工作有一定的幫助,需要的朋友可以參考下
    2024-01-01
  • MySQL中使用去重distinct方法的示例詳解

    MySQL中使用去重distinct方法的示例詳解

    這篇文章主要介紹了MySQL中使用去重distinct方法的示例詳解。distinct用來(lái)查詢不重復(fù)記錄的條數(shù),distinct表示對(duì)后面的所有參數(shù)的拼接取 不重復(fù)的記錄,即查出的參數(shù)拼接每行記錄都是唯一的。地產(chǎn)感興趣的可以了解一下
    2020-07-07
  • 如何使用mysql語(yǔ)句進(jìn)行多表聯(lián)查(以三個(gè)表為例)

    如何使用mysql語(yǔ)句進(jìn)行多表聯(lián)查(以三個(gè)表為例)

    這篇文章主要介紹了如何使用mysql語(yǔ)句進(jìn)行多表聯(lián)查(以三個(gè)表為例),具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2023-08-08
  • 如何修改MYSQL5.7.17數(shù)據(jù)庫(kù)存儲(chǔ)文件的路徑

    如何修改MYSQL5.7.17數(shù)據(jù)庫(kù)存儲(chǔ)文件的路徑

    在搭建華為云服務(wù)器的時(shí)候遇到點(diǎn)問(wèn)題,查看了網(wǎng)上好多的帖子都沒(méi)能解決,不知道有沒(méi)有跟我遇到一樣問(wèn)題的老鐵,我就把我的解決辦法分享給大家,希望能夠幫助各位老鐵
    2023-05-05
  • 64位CentOs7源碼安裝mysql-5.6.35過(guò)程分享

    64位CentOs7源碼安裝mysql-5.6.35過(guò)程分享

    本文給大家分享的是在64位CentOs7系統(tǒng)中使用源碼安裝mysql-5.6.35的詳細(xì)過(guò)程,非常的細(xì)致,有需要的小伙伴可以參考下
    2017-02-02
  • mysql搭建主從復(fù)制的實(shí)現(xiàn)步驟

    mysql搭建主從復(fù)制的實(shí)現(xiàn)步驟

    在MySQL集群中,主庫(kù)更新會(huì)同步到從庫(kù),但從庫(kù)更新不同步到主庫(kù),主從復(fù)制能分?jǐn)倝毫?本文就來(lái)介紹一下mysql搭建主從復(fù)制的實(shí)現(xiàn)步驟,感興趣的可以了解一下
    2024-11-11
  • MySQL修改my.cnf配置不生效的解決方法

    MySQL修改my.cnf配置不生效的解決方法

    這篇文章主要介紹了MySQL修改my.cnf配置不生效的解決方法,簡(jiǎn)單分析了配置文件的執(zhí)行順序與原理并提出解決方法,需要的朋友可以參考下
    2016-04-04
  • MySQL深入淺出掌握觸發(fā)器用法

    MySQL深入淺出掌握觸發(fā)器用法

    觸發(fā)器是SQLserver提供給程序員和數(shù)據(jù)分析員來(lái)保證數(shù)據(jù)完整性的一種方法,它是與表事件相關(guān)的特殊的存儲(chǔ)過(guò)程,事件是在 MySQL 5.1后引入的,有點(diǎn)類(lèi)似操作系統(tǒng)的計(jì)劃任務(wù),但是周期性任務(wù)是內(nèi)置在MySQL服務(wù)端執(zhí)行的
    2022-05-05

最新評(píng)論

绥滨县| 雷山县| 安阳市| 龙门县| 疏附县| 梓潼县| 托克托县| 体育| 淮滨县| 塘沽区| 哈尔滨市| 阳山县| 正宁县| 修水县| 鄯善县| 乐清市| 天全县| 沾益县| 大埔区| 上饶县| 那坡县| 西充县| 开远市| 宁陵县| 闽侯县| 五莲县| 永定县| 铅山县| 托里县| 福贡县| 兰考县| 沙湾县| 保靖县| 基隆市| 九寨沟县| 疏附县| 五河县| 敖汉旗| 乐山市| 青阳县| 迁安市|