InnoDb 介紹:
InnoDb 存儲引擎,支持事務,行鎖,外鍵.InnoDb 設計用來處理大數據量時提供最好的性能.
InnoDb 提供自己的緩存(buffer pool) 還緩存數據和索引.innodb 把數據和索引存放到表空間(tablespace) ,表空間是幾個磁盤文件或者是原是設備文件(raw disk). 它不像MyISAM 存儲引擎,每個表只是一個文件.(這樣在某些系統下最大2G限制). 而Innodb沒有此限制,可以無限擴展.
MySQL4.0 的以後版本都支持innodb 存儲.
InnoDb 配置:
innodb 管理的兩個磁盤文件是表空間文件和日志文件.
表空間定義:
innodb_data_file_path=datafile_spec1[;datafile_spec2]...
文件聲明格式: file_name:file_size[:autoextend[:max:max_file_size]]
innodb_data_home_dir 聲明文件存放目錄.
MySQL 讀取配置文件的順序:
`/etc/my.cnf' Global options.
`DATADIR/my.cnf' Server-specific options.
`defaults-extra-file' The file specifIEd with the --defaults-extra-file option.
`~/.my.cnf' User-specific options.
內存使用下面的加起來不要超過2G:
innodb_buffer_pool_size
+ key_buffer_size
+ max_connections*(sort_buffer_size+read_buffer_size+binlog_cache_size)
+ max_connections*2MB
InnoDb 參數說明:
innodb_additional_mem_pool_size
存儲數據字典信息和內部結構信息, 如果你的表越多,這個需要的內存就越多,如果你預留的空間不夠,就開始象系統申請內存.errlog 會有錯誤. 缺省設置為1M.
innodb_autoextend_increment
當表空間滿時字段擴展大小.
innodb_buffer_pool_size
數據和索引用的緩存大小.一般時系統物理內存的50~80% .