《MYSQL數(shù)據(jù)庫mysql innodb優(yōu)化配置方法分享》要點(diǎn):
本文介紹了MYSQL數(shù)據(jù)庫mysql innodb優(yōu)化配置方法分享,希望對您有用。如果有疑問,可以聯(lián)系我們。
本節(jié)內(nèi)容:
innodb數(shù)據(jù)庫引擎的優(yōu)化與配置辦法.MYSQL學(xué)習(xí)
在mysql數(shù)據(jù)庫中,innodb_buffer_pool_size:這是InnoDB最重要的設(shè)置,對InnoDB性能有決定性的影響.MYSQL學(xué)習(xí)
默認(rèn)的設(shè)置只有8M,所以默認(rèn)的數(shù)據(jù)庫設(shè)置下面InnoDB性能很差.MYSQL學(xué)習(xí)
在只有InnoDB存儲(chǔ)引擎的數(shù)據(jù)庫服務(wù)器上面,可以設(shè)置60-80%的內(nèi)存.MYSQL學(xué)習(xí)
更精確一點(diǎn),在內(nèi)存容量允許的情況下面設(shè)置比InnoDB tablespaces年夜10%的內(nèi)存年夜小.MYSQL學(xué)習(xí)
innodb_data_file_path:指定表數(shù)據(jù)和索引存儲(chǔ)的空間,可以是一個(gè)或者多個(gè)文件.最后一個(gè)數(shù)據(jù)文件必需是自動(dòng)擴(kuò)充的,也只有最后一個(gè)文件允許自動(dòng)擴(kuò)充.
這樣,當(dāng)空間用完后,自動(dòng)擴(kuò)充數(shù)據(jù)文件就會(huì)自動(dòng)增長(以8MB為單位)以容納額外的數(shù)據(jù).MYSQL學(xué)習(xí)
例如:
innodb_data_file_path=/disk1/ibdata1:900M;/disk2/ibdata2:50M:autoextend
兩個(gè)數(shù)據(jù)文件放在分歧的磁盤上.MYSQL學(xué)習(xí)
數(shù)據(jù)首先放在ibdata1中,當(dāng)達(dá)到900M以后,數(shù)據(jù)就放在ibdata2中.一旦達(dá)到50MB,ibdata2將以8MB為單位自動(dòng)增長.
如果磁盤滿了,必要在另外的磁盤上面增加一個(gè)數(shù)據(jù)文件.MYSQL學(xué)習(xí)
innodb_data_home_dir:放置表空間數(shù)據(jù)的目錄,默認(rèn)在mysql的數(shù)據(jù)目錄,設(shè)置到和MySQL安裝文件不同的分區(qū)可以提高性能.
innodb_log_file_size:該參數(shù)決定了recovery speed.
太大的話recovery就會(huì)比擬慢,太小了影響查詢性能,一般取256M可以兼顧性能和recovery的速度.MYSQL學(xué)習(xí)
innodb_log_buffer_size:磁盤速度是很慢的,直接將log寫道磁盤會(huì)影響InnoDB的性能,該參數(shù)設(shè)定了log buffer的年夜小,一般4M.
如果有年夜的blob操作,可以適當(dāng)增年夜.MYSQL學(xué)習(xí)
innodb_flush_logs_at_trx_commit=2:
該參數(shù)設(shè)定了事務(wù)提交時(shí)內(nèi)存中l(wèi)og信息的處置.MYSQL學(xué)習(xí)
1) =1時(shí),在每個(gè)事務(wù)提交時(shí),日志緩沖被寫到日志文件,對日志文件做到磁盤操作的刷新.Truly ACID.速度慢.
2) =2時(shí),在每個(gè)事務(wù)提交時(shí),日志緩沖被寫到文件,但不對日志文件做到磁盤操作的刷新.只有操作系統(tǒng)瓦解或掉電才會(huì)刪除最后一秒的事務(wù),不然不會(huì)丟失事務(wù).
3) =0時(shí), 日志緩沖每秒一次地被寫到日志文件,并且對日志文件做到磁盤操作的刷新.任何mysqld進(jìn)程的瓦解會(huì)刪除瓦解前最后一秒的事務(wù).MYSQL學(xué)習(xí)
innodb_file_per_table:可以存儲(chǔ)每個(gè)InnoDB表和它的索引在它本身的文件中.
transaction-isolation=READ-COMITTED: 如果應(yīng)用程序可以運(yùn)行在READ-COMMITED隔離級(jí)別,做此設(shè)定會(huì)有一定的性能提升.MYSQL學(xué)習(xí)
innodb_flush_method: 設(shè)置InnoDB同步IO的方式:
1) Default – 使用fsync().
2) O_SYNC 以sync模式打開文件,通常比擬慢.
3) O_DIRECT,在Linux上使用Direct IO.可以顯著提高速度,特別是在RAID系統(tǒng)上.避免額外的數(shù)據(jù)復(fù)制和double buffering(mysql buffering 和OS buffering).MYSQL學(xué)習(xí)
innodb_thread_concurrency: InnoDB kernel最年夜的線程數(shù).
1) 最少設(shè)置為(num_disks+num_cpus)*2.
2) 可以通過設(shè)置成1000來禁止這個(gè)限制MYSQL學(xué)習(xí)
《MYSQL數(shù)據(jù)庫mysql innodb優(yōu)化配置方法分享》是否對您有啟發(fā),歡迎查看更多與《MYSQL數(shù)據(jù)庫mysql innodb優(yōu)化配置方法分享》相關(guān)教程,學(xué)精學(xué)透。維易PHP學(xué)院為您提供精彩教程。
轉(zhuǎn)載請注明本頁網(wǎng)址:
http://www.fzlkiss.com/jiaocheng/13732.html