欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

修改Innodb的數(shù)據(jù)頁大小以優(yōu)化MySQL的方法

 更新時間:2015年05月09日 16:45:04   作者:吳炳錫  
這篇文章主要介紹了修改Innodb的數(shù)據(jù)頁大小以優(yōu)化MySQL的方法,Innodb是MySQL下一個頗具人氣的數(shù)據(jù)引擎,需要的朋友可以參考下

我們知道Innodb的數(shù)據(jù)頁是16K,而且是一個硬性的規(guī)定,系統(tǒng)里沒更改的辦法,希望將來MySQL也能也Oracle一樣支持多種數(shù)據(jù)頁的大小。
但實際應(yīng)用中有時16K顯的有點大了,特別是很多業(yè)務(wù)在Oracle或是SQL SERVER運行的挺好的情況下遷到了MySQL上發(fā)現(xiàn)IO增長太明顯的情況下,
就會想到更改數(shù)據(jù)頁大小了。
  實際上innodb的數(shù)據(jù)頁大小也是可以更改的,只是需要在源碼層去更改,然后重新rebuild一下MySQL.
    更改辦法:
    (以MySQL-5.1.38源碼為例)
    位置在storage/innobase/include/univ.i ,在univ.i中查找:UNIV_PAGE_SIZE

 

/*
  DATABASE VERSION CONTROL
  ========================
*/
 
/* The universal page size of the database */
#define UNIV_PAGE_SIZE     (2 * 8192) /* NOTE! Currently, this has to be a
   power of 2 */
/* The 2-logarithm of UNIV_PAGE_SIZE: */
#define UNIV_PAGE_SIZE_SHIFT 14
 
/* Maximum number of parallel threads in a parallelized operation */
#define UNIV_MAX_PARALLELISM 32

   UNIV_PAGE_SIZE就是數(shù)據(jù)頁大小,默認的是16K. 后面的備注里標明,該值是可以設(shè)置必須為2的次方。對于該值可以設(shè)置成4k,8k,16k,32K,64K,在大也沒意義了。
同時更改了UNIV_PAGE_SIZE后需要更改 UNIV_PAGE_SIZE_SHIFT 該值是2的多少次方為UNIV_PAGE_SIZE,所以設(shè)置數(shù)據(jù)頁分別情況如下:

 

#define UNIV_PAGE_SIZE_SHIFT 12 if UNIV_PAGE_SIZ=4K
#define UNIV_PAGE_SIZE_SHIFT 13 if UNIV_PAGE_SIZ=8K
#define UNIV_PAGE_SIZE_SHIFT 15 if UNIV_PAGE_SIZ=32K

例子:
 更改innodb的數(shù)據(jù)頁為8K,相應(yīng)修改為:

 

/*
  DATABASE VERSION CONTROL
  ========================
*/
 
/* The universal page size of the database */
#define UNIV_PAGE_SIZE     8192  /* NOTE! Currently, this has to be a
   power of 2 */
/* The 2-logarithm of UNIV_PAGE_SIZE: */
#define UNIV_PAGE_SIZE_SHIFT 13
 
/* Maximum number of parallel threads in a parallelized operation */
#define UNIV_MAX_PARALLELISM 32

重新編譯,然后測試測試,再測試。Good luck!

相關(guān)文章

  • MySQL與SQLserver的差異對比

    MySQL與SQLserver的差異對比

    SQLServer和MySQL是兩種常見的關(guān)系型數(shù)據(jù)庫管理系統(tǒng),們在功能和用途上有很多相似之處,但也有一些顯著的差異,本文將詳細介紹SQLServer和MySQL之間的差異,并對它們的優(yōu)缺點進行比較,以及使用時需要注意的事項
    2023-05-05
  • mysql 5.7.21 winx64免安裝版配置方法圖文教程

    mysql 5.7.21 winx64免安裝版配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.21 winx64免安裝版配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-02-02
  • MySQL 多表關(guān)聯(lián)一對多查詢實現(xiàn)取最新一條數(shù)據(jù)的方法示例

    MySQL 多表關(guān)聯(lián)一對多查詢實現(xiàn)取最新一條數(shù)據(jù)的方法示例

    這篇文章主要介紹了MySQL 多表關(guān)聯(lián)一對多查詢實現(xiàn)取最新一條數(shù)據(jù)的方法,結(jié)合實例形式詳細分析了MySQL 多表關(guān)聯(lián)一對多查詢實現(xiàn)取最新一條數(shù)據(jù)相關(guān)原理、實現(xiàn)方法與操作注意事項,需要的朋友可以參考下
    2020-05-05
  • linux下使用RPM安裝mysql5.7.17

    linux下使用RPM安裝mysql5.7.17

    這篇文章主要為大家詳細介紹了linux下使用RPM安裝mysql5.7.17的相關(guān)代碼,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2017-03-03
  • mysql 5.7.23 安裝配置方法圖文教程

    mysql 5.7.23 安裝配置方法圖文教程

    這篇文章主要為大家詳細介紹了mysql 5.7.23安裝配置方法圖文教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-09-09
  • Windows環(huán)境下重置mysql密碼操作命令

    Windows環(huán)境下重置mysql密碼操作命令

    Windows XP系統(tǒng)、xampp集成環(huán)境如何重置mysql密碼,接下來為大家詳細介紹下,感興趣的各位可以參考下哈,希望可以幫助到你們
    2013-03-03
  • MySQL內(nèi)連接和外連接及七種SQL?JOINS的實現(xiàn)

    MySQL內(nèi)連接和外連接及七種SQL?JOINS的實現(xiàn)

    這篇文章主要介紹了Mysql內(nèi)連接和外連接的區(qū)別以及七種SQL?Joins的實現(xiàn),相信看完這篇文章你對SQL內(nèi)外連接的多表查詢就足夠理解了,需要的朋友可以參考下
    2023-03-03
  • MySQL的Flush-List和臟頁的落盤機制

    MySQL的Flush-List和臟頁的落盤機制

    這篇文章主要介紹了MySQL的Flush-List和臟頁的落盤機制,幫助大家更好的理解和使用MySQL,感興趣的朋友可以了解下
    2020-11-11
  • mysql 海量數(shù)據(jù)的存儲和訪問解決方案

    mysql 海量數(shù)據(jù)的存儲和訪問解決方案

    數(shù)據(jù)庫水平切分的實現(xiàn)原理解析---分庫,分表,主從,集群,負載均衡器
    2010-05-05
  • MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路

    MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路

    最近遇到的一個問題,需要在一張將近1000萬數(shù)據(jù)量的表中添加加一個字段,但是直接添加會導(dǎo)致mysql 奔潰,所以需要利用其他的方法進行添加,這篇文章主要給大家介紹了MySQL中大數(shù)據(jù)表增加字段的實現(xiàn)思路,需要的朋友可以參考借鑒。
    2017-01-01

最新評論