国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數據庫 > MySQL > 正文

Mysql Innodb 引擎優化的方法

2024-07-24 11:58:15
字體:
來源:轉載
供稿:網友

MySQL Innodb 引擎優化,InnoDB給MySQL提供了具有提交,回滾和崩潰恢復能力的事務安全(ACID兼容)存儲引擎。InnoDB鎖定在行級并且也在SELECT語句 提供一個Oracle風ge一致的非鎖定讀。這些特色增加了多用戶部署和性能。沒有在InnoDB中擴大鎖定的需要,因為在InnoDB中行級鎖定適合非常小的空間。

InnoDB也支持FOREIGN KEY強制。在SQL查詢中,你可以zi you地將InnoDB類型的表與其它MySQL的表的類型混合起來,甚至在同一個查詢中也可以混合。

Innodb 的創始人:Heikki Tuuri

Heikki Tuuri在Innodb的Bug社區里也是很活躍的,如果遇到Bug也可以直接提到社區,得到作者的解答。

為什么要學習Innodb的調優:

目前來說:InnoDB是為Mysql處理巨大數據量時的最大性能設計。它的CPU效率可能是任何其它基于磁盤的關系數據庫引擎所不能匹敵的。在數據量大的網站或是應用中Innodb是倍受青睞的。

另一方面,在數據庫的復制操作中Innodb也是能保證master和slave數據一致有一定的作用。

參數調優內容:

1. 內存利用方面

2. 日志控制方面

3.文件IO分配,空間占用方面

4. 其它相關參數

1.內存利用方面:

首先介紹一個Innodb最重要的參數:

innodb_buffer_pool_size

這個參數和MyISAM的key_buffer_size有相似之處,但也是有差別的。這個參數主要緩存innodb表的索引,數據,插入數據時的緩沖。為Innodb加速優化首要參數。

該參數分配內存的原則:這個參數默認分配只有8M,可以說是非常小的一個值。如果是一個專用DB服務器,那么他可以占到內存的70%-80%。這個參 數不能動態更改,所以分配需多考慮。分配過大,會使Swap占用過多,致使Mysql的查詢特慢。如果你的數據比較小,那么可分配是你的數據大小+10% 左右做為這個參數的值。例如:數據大小為50M,那么給這個值分配innodb_buffer_pool_size=64M

設置方法:

innodb_buffer_pool_size=4G

這個參數分配值的使用情況可以根據show innodb status/G;中的

----------------------
         BUFFER POOL AND MEMORY
       ----------------------

Total memory allocated 4668764894;

去確認使用情況。

第二個:

innodb_additional_mem_pool:

作用:用來存放Innodb的內部目錄

這個值不用分配太大,系統可以自動調。不用設置太高。通常比較大數據設置16M夠用了,如果表比較多,可以適當的增大。如果這個值自動增加,會在error log有中顯示的。

分配原則:

用show innodb status/G;去查看運行中的DB是什么狀態(參考BUFFER POOL AND MEMORY段中),然后可以調整到適當的值。

----------------------
          BUFFER POOL AND MEMORY
       ----------------------

Total memory allocated 4668764894; in additional pool allocated 16777216

參考:in additional pool allocated 16777216

根據你的參數情況,可以適當的調整。

設置方法:

innodb_additional_mem_pool=16M

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沂水县| 宁武县| 汝州市| 武邑县| 万载县| 汝南县| 郑州市| 绍兴市| 昌江| 新建县| 同江市| 凭祥市| 格尔木市| 天祝| 台北县| 武功县| 金堂县| 怀宁县| 晋宁县| 衡山县| 陈巴尔虎旗| 开阳县| 肃南| 沁源县| 麟游县| 徐汇区| 佳木斯市| 贡嘎县| 镇巴县| 朔州市| 宁强县| 鄱阳县| 岳阳市| 文水县| 北京市| 苏尼特左旗| 色达县| 姚安县| 平武县| 玛沁县| 岚皋县|