<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    我的Blog我做主^_^

    走向一條通往JAVA的不歸路...

      BlogJava :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理 ::
      64 隨筆 :: 68 文章 :: 77 評(píng)論 :: 0 Trackbacks
    InnoDB 是 MySQL 上第一個(gè)提供外鍵約束的引擎,除了提供事務(wù)處理外,InnoDB 還支持行鎖,提供和 Oracle 一樣的一致性的不加鎖讀取,能增加并發(fā)讀的用戶數(shù)量并提高性能,不會(huì)增加鎖的數(shù)量。
    InnoDB 的設(shè)計(jì)目標(biāo)是處理大容量數(shù)據(jù)時(shí)最大化性能,它的 CPU 利用率是其他所有基于磁盤的關(guān)系數(shù)據(jù)庫引擎中最有效率的。

    InnoDB 是一套放在 MySQL 后臺(tái)的完整數(shù)據(jù)庫系統(tǒng),InnoDB 有它自己的緩沖池,能緩沖數(shù)據(jù)和索引,InnoDB 還把數(shù)據(jù)和索引存放在表空間里面,可能包含好幾個(gè)文件,這和 MyISAM 表完全不同,在 MyISAM 中,表被存放在單獨(dú)的文件中,InnoDB 表的大小只受限于操作系統(tǒng)文件的大小,一般為 2GB。

    MySQL 的源代碼中,從 3.23.34a 開始包含 InnoDB 表,并在 MySQL -Max 的二進(jìn)制版本中激活。

    如果你使用源碼版本下載,自己編譯的話,需要采用 --with-innodb 選項(xiàng):

    ./configure --with-innodb

    在 MySQL-Max-3.23 上使用 InnoDB 時(shí),必須在 my.cnf 或者 my.ini 文件中的 [mysqld] 小節(jié)指定啟動(dòng)參數(shù):

    innodb_data_file_path=ibdata:30M

    InnoDB 以 GNU GPL 版本 2 的許可發(fā)布。

    MySQL-Max-3.23: 這個(gè)產(chǎn)品可以用于生產(chǎn)環(huán)境使用。
    MySQL-4.0: 這個(gè)是開發(fā)版本,和 3.23 相比增加了多表刪除,查詢結(jié)果緩沖,SSL 通信,4.0.1 為 Beta 版本。

    在 3.23 中,必須至少指定 innodb_data_file_path 的大小,但是在 MySQL-4.0 中這個(gè)值默認(rèn)為 64MB,文件名為 ibdata1。

    為了得到好的性能,必須指定 InnoDB 參數(shù),例如:
    對(duì)于一臺(tái) 128MB 內(nèi)存, 10GB 硬盤的 Windows NT 機(jī)器的配置如下:

    [mysqld]

    innodb_data_home_dir = c:\ibdata
    # 數(shù)據(jù)文件必須能容下數(shù)據(jù)和索引
    innodb_data_file_path = ibdata1:2000M;ibdata2:2000M
    # 設(shè)置緩沖池大小為內(nèi)存的 50 - 80 %
    set-variable = innodb_buffer_pool_size=70M
    set-variable = innodb_additional_mem_pool_size=10M
    innodb_log_group_home_dir = c:\iblogs
    # log_arch_dir 必須和 log_group_home_dir 一樣
    innodb_log_arch_dir = c:\iblogs
    innodb_log_archive=0
    set-variable = innodb_log_files_in_group=3
    # 設(shè)置日志文件大小為緩沖池的 15%。
    set-variable = innodb_log_file_size=10M
    set-variable = innodb_log_buffer_size=8M
    # 如果丟失最近的幾個(gè)事務(wù)影響不大的話,設(shè)置 flush_log_at_trx_commit 為 0。
    innodb_flush_log_at_trx_commit=1
    set-variable = innodb_file_io_threads=4
    set-variable = innodb_lock_wait_timeout=50

    注意 InnoDB 不會(huì)自己建立目錄,你必須使用操作系統(tǒng)命令建立目錄,并注意 MySQL 的權(quán)限。

    第一次運(yùn)行 MySQL 時(shí),建議使用命令行方式。在 Windows 下,用命令行開啟:

    C:\MYSQL>mysqld-max --standalone --console

    在 Windows 下設(shè)置配置文件的原則是:
    my.cnf 和 my.ini 只能是一個(gè)有效。
    my.cnf 放在 C: 根目錄下, my.ini 文件放在 WINDIR 目錄下,C:\WINDOWS 或者 C:\WINNT。

    在 Linux 下面,初始配置文件按下面的順序搜索:

    /etc/my.cnf 全局選項(xiàng)
    COMPILATION_DATADIR/my.cnf 服務(wù)器范圍的選項(xiàng)
    defaults-extra-file 采用 --defaults-extra-file=.... 的文件
    ~/.my.cnf 用戶指定的選項(xiàng)

    假設(shè)你有一臺(tái) 512MB 內(nèi)存,三臺(tái) 20GB 硬盤(路徑分別為:"/","/dr2","/dr3“)的服務(wù)器,設(shè)置的例子為:

    [mysqld]
    innodb_data_home_dir = /
    innodb_data_file_path = ibdata/ibdata1:2000M;dr2/ibdata/ibdata2:2000M
    set-variable = innodb_buffer_pool_size=350M
    set-variable = innodb_additional_mem_pool_size=20M
    innodb_log_group_home_dir = /dr3/iblogs
    innodb_log_arch_dir = /dr3/iblogs
    innodb_log_archive=0
    set-variable = innodb_log_files_in_group=3
    set-variable = innodb_log_file_size=50M
    set-variable = innodb_log_buffer_size=8M
    innodb_flush_log_at_trx_commit=1
    set-variable = innodb_file_io_threads=4
    set-variable = innodb_lock_wait_timeout=50
    #innodb_flush_method=fdatasync
    #innodb_fast_shutdown=1
    #set-variable = innodb_thread_concurrency=5

    為了提升性能,我們把日志文件和數(shù)據(jù)文件放在不同的磁盤,另外還可以采用裸的磁盤分區(qū)來存儲(chǔ)數(shù)據(jù)以提升性能。

    需要提醒的是,在 Linux x86 上不要把內(nèi)存設(shè)置太高,glibc 會(huì)把進(jìn)程堆增長到線程堆棧之上,能把服務(wù)器給搞垮,下面的值接近于 2GB 時(shí)就很危險(xiǎn):

    innodb_buffer_pool_size + key_buffer +
    max_connections * (sort_buffer + record_buffer) + max_connections * 2 MB

    每個(gè)線程將使用 2MB(二進(jìn)制版本為 256 KB) 的堆棧,在最壞的情況下,還會(huì)使用 sort_buffer + record_buffer 的附加內(nèi)存。

    后續(xù)的文章,我們還將介紹 InnoDB 表的建立,MyISAM 到 InnoDB 的轉(zhuǎn)換,外鍵約束的使用,自動(dòng)增長列的操作,InnoDB 數(shù)據(jù)庫的備份和恢復(fù),事務(wù)的使用,性能調(diào)優(yōu)等內(nèi)容。

    請(qǐng)繼續(xù)關(guān)注,F(xiàn)reeLAMP.com 為您提供的企業(yè)級(jí)的開放源碼數(shù)據(jù)庫解決方案。


    posted on 2007-01-18 09:08 java_蟈蟈 閱讀(208) 評(píng)論(0)  編輯  收藏 所屬分類: 數(shù)據(jù)庫
    主站蜘蛛池模板: 十八禁的黄污污免费网站| 久久国产精品免费视频| 亚洲一区精品无码| 亚洲视频免费观看| 野花视频在线官网免费1| 婷婷亚洲综合五月天小说| 女人18毛片免费观看| 中文毛片无遮挡高清免费| 亚洲剧情在线观看| 亚洲欧洲自拍拍偷精品 美利坚| 精品无码AV无码免费专区| 亚洲AV色欲色欲WWW| 久久精品国产亚洲av四虎| 日韩一区二区免费视频| 成人免费区一区二区三区 | 亚洲精品私拍国产福利在线| 成人免费男女视频网站慢动作| aa级女人大片喷水视频免费| 亚洲1区1区3区4区产品乱码芒果| 国产亚洲色视频在线| 国产三级在线观看免费| 久久成人免费大片| 曰批全过程免费视频观看免费软件| 亚洲天堂电影在线观看| 国产专区一va亚洲v天堂| 免费中文熟妇在线影片| 日韩视频在线观看免费| 一级毛片免费不卡| 亚洲AV日韩AV一区二区三曲| 亚洲欧洲高清有无| 久久精品国产亚洲AV麻豆王友容 | 亚洲午夜无码久久| 久久久无码精品亚洲日韩京东传媒| 亚洲欧洲日产国码高潮αv| 麻豆国产VA免费精品高清在线| 99久久免费精品高清特色大片| 一级毛片人与动免费观看| 亚洲av无码有乱码在线观看| 亚洲av永久综合在线观看尤物| 午夜影视日本亚洲欧洲精品一区| 国产亚洲精久久久久久无码AV|