本篇內(nèi)容主要講解“MySQL常用的參數(shù)總結(jié)”,感興趣的朋友不妨來看看。本文介紹的方法操作簡單快捷,實用性強(qiáng)。下面就讓小編來帶大家學(xué)習(xí)“mysql常用的參數(shù)總結(jié)”吧!
專業(yè)從事成都網(wǎng)站建設(shè)、做網(wǎng)站,高端網(wǎng)站制作設(shè)計,小程序制作,網(wǎng)站推廣的成都做網(wǎng)站的公司。優(yōu)秀技術(shù)團(tuán)隊竭力真誠服務(wù),采用成都h5網(wǎng)站建設(shè)+CSS3前端渲染技術(shù),響應(yīng)式網(wǎng)站設(shè)計,讓網(wǎng)站在手機(jī)、平板、PC、微信下都能呈現(xiàn)。建站過程建立專項小組,與您實時在線互動,隨時提供解決方案,暢聊想法和感受。
1.query_cache_size
select 查詢后,會把查詢結(jié)構(gòu)緩存為sql文本,當(dāng)同樣的sql再次查詢時,直接從緩存中取數(shù)據(jù)返回。
Qcache_lowmem_prunes的值非常大,則表明經(jīng)常出現(xiàn)緩沖不夠的情況,同時Qcache_hits的值非常大,則表明查詢緩沖使用非常頻繁,此時需要增加緩沖大小Qcache_hits的值不大,則表明你的查詢重復(fù)率很低,這種情況下使用查詢緩沖反而會影響效率,那么可以考慮不用查詢緩沖
缺陷:
mysql在利用query_cache工作時,要求該語句涉及的表這段時間內(nèi)沒有發(fā)生變化。假如數(shù)據(jù)有更新,首先會把所有的query_cache設(shè)為失效,然后更新。
如果query_cache_size過大,查詢比較多,失效也會很慢,更新或insert也會慢。
2.key_buffer_size
只對myisam表起作用
key_buffer_size指定索引緩沖區(qū)的大小,它決定索引處理的速度,尤其是索引讀的速度。
通過檢查狀態(tài)值Key_read_requests和Key_reads,可以知道key_buffer_size設(shè)置是否合理
key_read_requests總的讀取請求,key_keys為磁盤請求次數(shù),也就是 key_read_requests/key_reads越小越好
3.table_open_cache(5.1以前版本為table_cache)
table_open_cache指定表高速緩存的大小。每當(dāng)MySQL訪問一個表時,如果在表緩沖區(qū)中還有空間,該表就被打開并放入其中,這樣可以更快地訪問表內(nèi)容
通過檢查峰值時間的狀態(tài)值Open_tables和Opened_tables,可以決定是否需要增加table_open_cache的值。如果你發(fā)現(xiàn)open_tables等于table_open_cache,并且opened_tables在不斷增長,那么你就需要增加table_open_cache的值了
4.log_bin
二進(jìn)制日志,從庫可以 關(guān)閉,關(guān)閉掉大概能提高1%的性能。
5.max_connections
最大連接數(shù)
6.back_bog
back_log值指出在MySQL暫時停止回答新請求之前的短時間內(nèi)多少個請求可以被存在堆棧中。只有如果期望在一個短時間內(nèi)有很多連接,你需要增加它,換句話說,這值對到來的TCP/IP連接的偵聽隊列的大小.
7.thread_cache
mySQL里面為了提高客戶端請求創(chuàng)建連接過程的性能,提供了一個連接池也就是Thread_Cache池,將空閑的連接線程放在連接池中,而不是立即銷毀.這樣的好處就是,當(dāng)又有一個新的請求的時候,mysql不會立即去創(chuàng)建連接線程,而是先去Thread_Cache中去查找空閑的連接線程,如果存在則直接使用,不存在才創(chuàng)建新的連接線程.
thread_cache_size
Thread_Cache中存放的最大連接線程數(shù).在短連接的應(yīng)用中Thread_Cache的功效非常明顯
thread_stack
每個連接被創(chuàng)建的時候,mysql分配給它的內(nèi)存.這個值一般認(rèn)為默認(rèn)就可以應(yīng)用于大部分場景了
thread_cache命中率計算
show variables like 'thread%';show status like '%connections%';show status like '%thread%'
公式為:thread_cache_hit=(connections-thread_create)/connections*100%
8.log-slave-update
主從架構(gòu)時,從庫需要保持和主庫相同的二進(jìn)制時使用(默認(rèn)從庫是不需要開啟二進(jìn)制日志)
9。sync_binlog
如果為正,當(dāng)每個sync_binlog寫入該二進(jìn)制日志后,MySQL服務(wù)器將它的二進(jìn)制日志同步到硬盤上
為0不與硬盤同步,為1與硬盤同步,mysql崩潰最多丟失一個語句或事務(wù)。
10.記錄慢日志,分析
slow-query-log-file
long-query-time
設(shè)置時間為1s即可
通過explain分析
語法:explain [extended] select ... from ...where
如果使用了extended ,那么在執(zhí)行完explain語句后,可以使用show warnings語句查詢相應(yīng)的優(yōu)化信息。
type: ALL 代表全表掃描
key: NULL 沒有用到索引
Extra: Using where; Using filesort 沒有使用索引排序
-----------------------------
type: range說明沒有全表掃描
Extra: Using where 說明沒有文件排序
10.鎖
show status like 'table%';
Table_locks_immediate表示立即釋放表鎖數(shù),Table_locks_waited表示需要等待的表鎖數(shù)
如果Table_locks_waited的值比較高,則說明存在著較嚴(yán)重的表級鎖爭用情況。這時,需要我們對應(yīng)用做進(jìn)一步的檢查,來確定問題所在
11.innodb_buffer_pool_size
緩沖innodb數(shù)據(jù)和索引的內(nèi)存緩沖區(qū)大小,這個值越高,需要的磁盤i/o越少
12.innodb_flush_log_at_trx_commit
0:表示每秒將日志緩沖寫入到日志文件,并且將日志文件刷新到磁盤。
1:每個事務(wù)提交時,日志緩沖寫入日志文件,刷新到磁盤
2:每個提交,日志緩存寫入日志文件,但部隊日志文件做到磁盤刷新
默認(rèn)為1,也是最安全的
到此,相信大家對“mysql常用的參數(shù)總結(jié)”有了更深的了解,不妨來實際操作一番吧!這里是創(chuàng)新互聯(lián)網(wǎng)站,更多相關(guān)內(nèi)容可以進(jìn)入相關(guān)頻道進(jìn)行查詢,關(guān)注我們,繼續(xù)學(xué)習(xí)!
新聞名稱:mysql常用的參數(shù)總結(jié)
本文網(wǎng)址:http://chinadenli.net/article10/giohdo.html
成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供電子商務(wù)、網(wǎng)站導(dǎo)航、網(wǎng)站營銷、品牌網(wǎng)站建設(shè)、關(guān)鍵詞優(yōu)化、App設(shè)計
聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)