日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 运维知识 > 数据库 >内容正文

数据库

mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如...

發(fā)布時間:2025/3/21 数据库 37 豆豆
生活随笔 收集整理的這篇文章主要介紹了 mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如... 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

key_buffer_size - 這對MyISAM表往說十分緊張。假設(shè)只是利用MyISAM表,可以把它設(shè)置為可用內(nèi)存的

30-40%。合理的值取決于索引大年夜小、數(shù)據(jù)量和背載 --

記住,MyISAM表會利用操做系統(tǒng)的緩存往緩存數(shù)據(jù),是以需求留出部分內(nèi)存給它們,許多狀況下數(shù)據(jù)比索引大年夜多了。雖然云云,需求總是搜檢能可全部的

key_buffer 都被哄騙了 -- .MYI 文件只有 1GB,而 key_buffer 卻設(shè)置為 4GB

的狀況少短常少的。這么做太糜擲了。假設(shè)你很少利用MyISAM表,那么也保留低于 16-32MB 的key_buffer_size

以適應(yīng)給予磁盤的暫時表索引所需。

innodb_buffer_pool_size -

這對Innodb表往說十分緊張。Innodb比較MyISAM表對緩沖更為敏感。MyISAM可以在默許的 key_buffer_size

設(shè)置下運(yùn)轉(zhuǎn)的可以,然則Innodb在默許的innodb_buffer_pool_size

設(shè)置下卻跟蝸牛似的。由于Innodb把數(shù)據(jù)戰(zhàn)索引都緩存起往,無需留給操做系統(tǒng)太多的內(nèi)存,是以假設(shè)只需求用Innodb的話則可以設(shè)置它高達(dá)

70-80% 的可用內(nèi)存。一些利用于 key_buffer 的規(guī)定規(guī)矩有 --

假設(shè)你的數(shù)據(jù)量沒有大年夜,而且沒有會暴刪,那么無需把innodb_buffer_pool_size

設(shè)置的太大年夜了。

innodb_additional_pool_size -

這個選項對性能影響實在沒有太多,最少在有差沒有多足夠內(nèi)存可分派的操做系統(tǒng)上是這樣。沒有過假設(shè)你仿照照舊想設(shè)置為

20MB(或更大年夜),是以就需求看一下Innodb其他需求分派的內(nèi)存有幾。

innodb_log_file_size

在高寫入背載特別是大年夜數(shù)據(jù)集的狀況下很緊張。這個值越大年夜則性能相對越高,然則要留神到可能會刪加恢復(fù)時候。我經(jīng)常設(shè)置為64-512MB,按照管事器大年夜小而異。

innodb_log_buffer_size

默許的設(shè)置在中等強(qiáng)度寫入背載和較短事務(wù)的狀況下,管事器性能還可以。假設(shè)存在更新操做峰值或背載較大年夜,就應(yīng)該考慮加大年夜它的值了。假設(shè)它的值設(shè)置太高了,可能會糜擲內(nèi)存

--

它每秒都會改革一次,是以無需設(shè)置超越1秒所需的內(nèi)存空間。通常8-16MB就足夠了。越小的系統(tǒng)它的值越小。

innodb_flush_logs_at_trx_commit

能可為Innodb比MyISAM慢1000倍而頭大年夜?看往也許你忘了修改這個參數(shù)了。默許值是

1,這意味著每次提交的更新事務(wù)(或每一個事務(wù)以外的語句)都會改革到磁盤中,而這相等消耗資源,特別是出有電池備用緩存時。許多利用法式,特別是從

MyISAM改動疇昔的那些,把它的值設(shè)置為 2

就可以夠夠了,也就是沒有把日記改革到磁盤上,而只改革到操做系統(tǒng)的緩存上。日記仿照照舊會每秒改革到磁盤中往,是以通常沒有會拾得每秒1-2次更新的斲喪。假設(shè)設(shè)置為0就快許多了,沒有過也相對沒有戰(zhàn)平了

-- MySQL管事器瓦解時就會拾得一些事務(wù)。設(shè)置為2批示拾得改革到操做系統(tǒng)緩存的那部份事務(wù)。

table_cache --

翻開一個表的開銷可能很大年夜。比方MyISAM把MYI文件頭標(biāo)志該表正在利用中。你必定沒有期視這種操做太頻仍,所以通常要加大年夜緩存數(shù)量,使得足以最大年夜限度地緩存翻開的表。它需求用到操做系統(tǒng)的資源和內(nèi)存,對當(dāng)前的硬件設(shè)置設(shè)備擺設(shè)往說當(dāng)然沒有是甚么成績了。假設(shè)你有200多個表的話,那么設(shè)置為

1024

也許比較合適(每一個線程都需求翻開表),假設(shè)毗連數(shù)比較大年夜那么就加大年夜它的值。我曾經(jīng)見過設(shè)置為100,000的狀況。

thread_cache -- 線程的創(chuàng)坐戰(zhàn)銷譽(yù)的開銷可能很大年夜,由于每一個線程的毗連/斷開都需求。我通常最少設(shè)置為

16。假設(shè)利用法式中有大年夜量的騰躍并發(fā)毗連而且 Threads_Created

的值也比較大年夜,那么我就會加大年夜它的值。它的方針是在通常的操做中無需創(chuàng)坐新線程。

query cache --

假設(shè)你的利用法式有大年夜量讀,而且出有益用法式級其它緩存,那么這很有效。沒有要把它設(shè)置太大年夜了,由于想要護(hù)衛(wèi)它也需求許多開銷,這會招致MySQL變慢。通常設(shè)置為

32-512Mb。設(shè)置完以后最好是跟蹤一段時候,審查能可運(yùn)轉(zhuǎn)劣秀。在必然的背載壓力下,假設(shè)緩存命中率太低了,就啟用它。

留神:就像你看到的上里這些齊局表量,它們都是按照硬件設(shè)置設(shè)備擺設(shè)和沒有同的存儲引擎而沒有同,然則會話變量通常是按照沒有同的背載往設(shè)定的。假設(shè)你只有一些簡單的查詢,那么就無需刪加

sort_buffer_size 的值了,雖然你有 64GB 的內(nèi)存。搞沒有好也許會降落性能。

我通常在分析系統(tǒng)背載后才往設(shè)置會話變量。

MySQL的發(fā)止版曾經(jīng)搜羅了各種 my.cnf 典范榜樣文件了,可以做為設(shè)置設(shè)備擺設(shè)模板利用。

總結(jié)

以上是生活随笔為你收集整理的mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如...的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。