innodb的幾個記憶體引數
innodb_buffer_pool_size
如 果用Innodb,那麼這是一個重要變數。相對於MyISAM來說,Innodb對於buffer size更敏感。MySIAM可能對於大資料量使用預設的key_buffer_size也還好,但Innodb在大資料量時用預設值就感覺在爬了。 Innodb的緩衝池會快取資料和索引,所以不需要給系統的快取留空間,如果只用Innodb,可以把這個值設為記憶體的70%-80%。和 key_buffer相同,如果資料量比較小也不怎麼增加,那麼不要把這個值設太高也可以提高記憶體的使用率。
如 果用Innodb,那麼這是一個重要變數。相對於MyISAM來說,Innodb對於buffer size更敏感。MySIAM可能對於大資料量使用預設的key_buffer_size也還好,但Innodb在大資料量時用預設值就感覺在爬了。 Innodb的緩衝池會快取資料和索引,所以不需要給系統的快取留空間,如果只用Innodb,可以把這個值設為記憶體的70%-80%。和 key_buffer相同,如果資料量比較小也不怎麼增加,那麼不要把這個值設太高也可以提高記憶體的使用率。
innodb_additional_pool_size
這個的效果不是很明顯,至少是當作業系統能合理分配記憶體時。但你可能仍需要設成20M或更多一點以看Innodb會分配多少記憶體做其他用途。
這個的效果不是很明顯,至少是當作業系統能合理分配記憶體時。但你可能仍需要設成20M或更多一點以看Innodb會分配多少記憶體做其他用途。
innodb_log_file_size
對於寫很多尤其是大資料量時非常重要。要注意,大的檔案提供更高的效能,但資料庫恢復時會用更多的時間。我一般用64M-512M,具體取決於伺服器的空間。
對於寫很多尤其是大資料量時非常重要。要注意,大的檔案提供更高的效能,但資料庫恢復時會用更多的時間。我一般用64M-512M,具體取決於伺服器的空間。
innodb_log_buffer_size
預設值對於多數中等寫操作和事務短的運用都是可以的。如 果經常做更新或者使用了很多blob資料,應該增大這個值。但太大了也是浪費記憶體,因為1秒鐘總會 flush(這個詞的中文怎麼說呢?)一次,所以不需要設到超過1秒的需求。8M-16M一般應該夠了。小的運用可以設更小一點。
預設值對於多數中等寫操作和事務短的運用都是可以的。如 果經常做更新或者使用了很多blob資料,應該增大這個值。但太大了也是浪費記憶體,因為1秒鐘總會 flush(這個詞的中文怎麼說呢?)一次,所以不需要設到超過1秒的需求。8M-16M一般應該夠了。小的運用可以設更小一點。
innodb_flush_log_at_trx_commit (這個很管用)
抱怨Innodb比MyISAM慢 100倍?那麼你大概是忘了調整這個值。預設值1的意思是每一次事務提交或事務外的指令都需要把日誌寫入(flush)硬碟,這是很費時的。特別是使用電 池供電快取(Battery backed up cache)時。設成2對於很多運用,特別是從MyISAM錶轉過來的是可以的,它的意思是不寫入硬碟而是寫入系統快取。日誌仍然會每秒flush到硬 盤,所以你一般不會丟失超過1-2秒的更新。設成0會更快一點,但安全方面比較差,即使MySQL掛了也可能會丟失事務的資料。而值2只會在整個作業系統 掛了時才可能丟資料。
抱怨Innodb比MyISAM慢 100倍?那麼你大概是忘了調整這個值。預設值1的意思是每一次事務提交或事務外的指令都需要把日誌寫入(flush)硬碟,這是很費時的。特別是使用電 池供電快取(Battery backed up cache)時。設成2對於很多運用,特別是從MyISAM錶轉過來的是可以的,它的意思是不寫入硬碟而是寫入系統快取。日誌仍然會每秒flush到硬 盤,所以你一般不會丟失超過1-2秒的更新。設成0會更快一點,但安全方面比較差,即使MySQL掛了也可能會丟失事務的資料。而值2只會在整個作業系統 掛了時才可能丟資料。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/20625855/viewspace-765828/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- JVM記憶體引數配置JVM記憶體
- 從記憶體洩露、記憶體溢位和堆外記憶體,JVM優化引數配置引數記憶體洩露記憶體溢位JVM優化
- MySQL InnoDB記憶體配置MySql記憶體
- jvm的記憶體引數配置(skycto JEEditor)JVM記憶體
- Linux 虛擬記憶體引數配置Linux記憶體
- mysql記憶體引數分類大全MySql記憶體
- 【CDB】怎樣修改PDB的記憶體引數記憶體
- 伺服器記憶體不足的幾個原因伺服器記憶體
- MySQL 配置InnoDB的記憶體分配器MySql記憶體
- solaris記憶體引數調整及管理記憶體
- Innodb記憶體管理解析[轉載]記憶體
- MySQL探祕(三):InnoDB的記憶體結構和特性MySql記憶體
- 【Java基礎】函式引數為物件時的記憶體管理Java函式物件記憶體
- MySQL底層概述—1.InnoDB記憶體結構MySql記憶體
- 詳細瞭解 InnoDB 記憶體結構及其原理記憶體
- 伺服器中的幾個重要引數伺服器
- 超大記憶體環境下的Oracle RAC引數設定建議記憶體Oracle
- MySQL:Innodb:innodb_flush_log_at_trx_commit引數影響的位置MySqlMIT
- 使用show engine innodb status 檢視記憶體使用情況記憶體
- JVM記憶體分為3個記憶體空間JVM記憶體
- 幾個例子理解不同資料型別的堆疊記憶體處理資料型別記憶體
- Android 專案中對於記憶體優化的幾個細節點Android記憶體優化
- Bulk 異常引發的 Elasticsearch 記憶體洩漏Elasticsearch記憶體
- 記憶體尋夢環遊記:一個變數的三重死亡記憶體變數
- OC-從記憶體角度理解block可作為方法傳入引數的原因記憶體BloC
- Java的記憶體 -JVM 記憶體管理Java記憶體JVM
- Oracle undo保留時間的幾個相關引數Oracle
- 【譯】Ringbahn的兩個記憶體Bug記憶體
- mysql各個記憶體引數的介紹,分執行緒獨享和全域性共享兩大類MySql記憶體執行緒
- 記憶體管理篇——實體記憶體的管理記憶體
- MySQL查詢select語句的執行流程以及InnoDB記憶體結構MySql記憶體
- innodb_flush_log_at_trx_commit引數的直白理解MIT
- linux記憶體管理(一)實體記憶體的組織和記憶體分配Linux記憶體
- JS中的棧記憶體、堆記憶體JS記憶體
- Linux 檢視記憶體使用情況的幾種方法Linux記憶體
- V8引擎的JavaScript記憶體機制JavaScript記憶體
- 指標:存放記憶體地址的變數指標記憶體變數
- 從幾個例項來記憶Activity的生命週期
- MySQL:Innodb Handler_read_*引數解釋MySql