mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如...
key_buffer_size - 這對MyISAM表往說十分緊張。假設只是利用MyISAM表,可以把它設置為可用內存的
30-40%。合理的值取決于索引大年夜小、數據量和背載 --
記住,MyISAM表會利用操做系統的緩存往緩存數據,是以需求留出部分內存給它們,許多狀況下數據比索引大年夜多了。雖然云云,需求總是搜檢能可全部的
key_buffer 都被哄騙了 -- .MYI 文件只有 1GB,而 key_buffer 卻設置為 4GB
的狀況少短常少的。這么做太糜擲了。假設你很少利用MyISAM表,那么也保留低于 16-32MB 的key_buffer_size
以適應給予磁盤的暫時表索引所需。
innodb_buffer_pool_size -
這對Innodb表往說十分緊張。Innodb比較MyISAM表對緩沖更為敏感。MyISAM可以在默許的 key_buffer_size
設置下運轉的可以,然則Innodb在默許的innodb_buffer_pool_size
設置下卻跟蝸牛似的。由于Innodb把數據戰索引都緩存起往,無需留給操做系統太多的內存,是以假設只需求用Innodb的話則可以設置它高達
70-80% 的可用內存。一些利用于 key_buffer 的規定規矩有 --
假設你的數據量沒有大年夜,而且沒有會暴刪,那么無需把innodb_buffer_pool_size
設置的太大年夜了。
innodb_additional_pool_size -
這個選項對性能影響實在沒有太多,最少在有差沒有多足夠內存可分派的操做系統上是這樣。沒有過假設你仿照照舊想設置為
20MB(或更大年夜),是以就需求看一下Innodb其他需求分派的內存有幾。
innodb_log_file_size
在高寫入背載特別是大年夜數據集的狀況下很緊張。這個值越大年夜則性能相對越高,然則要留神到可能會刪加恢復時候。我經常設置為64-512MB,按照管事器大年夜小而異。
innodb_log_buffer_size
默許的設置在中等強度寫入背載和較短事務的狀況下,管事器性能還可以。假設存在更新操做峰值或背載較大年夜,就應該考慮加大年夜它的值了。假設它的值設置太高了,可能會糜擲內存
--
它每秒都會改革一次,是以無需設置超越1秒所需的內存空間。通常8-16MB就足夠了。越小的系統它的值越小。
innodb_flush_logs_at_trx_commit
能可為Innodb比MyISAM慢1000倍而頭大年夜?看往也許你忘了修改這個參數了。默許值是
1,這意味著每次提交的更新事務(或每一個事務以外的語句)都會改革到磁盤中,而這相等消耗資源,特別是出有電池備用緩存時。許多利用法式,特別是從
MyISAM改動疇昔的那些,把它的值設置為 2
就可以夠夠了,也就是沒有把日記改革到磁盤上,而只改革到操做系統的緩存上。日記仿照照舊會每秒改革到磁盤中往,是以通常沒有會拾得每秒1-2次更新的斲喪。假設設置為0就快許多了,沒有過也相對沒有戰平了
-- MySQL管事器瓦解時就會拾得一些事務。設置為2批示拾得改革到操做系統緩存的那部份事務。
table_cache --
翻開一個表的開銷可能很大年夜。比方MyISAM把MYI文件頭標志該表正在利用中。你必定沒有期視這種操做太頻仍,所以通常要加大年夜緩存數量,使得足以最大年夜限度地緩存翻開的表。它需求用到操做系統的資源和內存,對當前的硬件設置設備擺設往說當然沒有是甚么成績了。假設你有200多個表的話,那么設置為
1024
也許比較合適(每一個線程都需求翻開表),假設毗連數比較大年夜那么就加大年夜它的值。我曾經見過設置為100,000的狀況。
thread_cache -- 線程的創坐戰銷譽的開銷可能很大年夜,由于每一個線程的毗連/斷開都需求。我通常最少設置為
16。假設利用法式中有大年夜量的騰躍并發毗連而且 Threads_Created
的值也比較大年夜,那么我就會加大年夜它的值。它的方針是在通常的操做中無需創坐新線程。
query cache --
假設你的利用法式有大年夜量讀,而且出有益用法式級其它緩存,那么這很有效。沒有要把它設置太大年夜了,由于想要護衛它也需求許多開銷,這會招致MySQL變慢。通常設置為
32-512Mb。設置完以后最好是跟蹤一段時候,審查能可運轉劣秀。在必然的背載壓力下,假設緩存命中率太低了,就啟用它。
留神:就像你看到的上里這些齊局表量,它們都是按照硬件設置設備擺設和沒有同的存儲引擎而沒有同,然則會話變量通常是按照沒有同的背載往設定的。假設你只有一些簡單的查詢,那么就無需刪加
sort_buffer_size 的值了,雖然你有 64GB 的內存。搞沒有好也許會降落性能。
我通常在分析系統背載后才往設置會話變量。
MySQL的發止版曾經搜羅了各種 my.cnf 典范榜樣文件了,可以做為設置設備擺設模板利用。
總結
以上是生活随笔為你收集整理的mysql内置多个数据存储引擎_一个mysql数据库,既有myisam存储引擎,又有innodb存储引擎,参数如...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: qt label显示文字_Qt官方示例共
- 下一篇: mysql地区时间_mysql – 带