Mysql InnoDB介绍
InnoDB 是 MySQL 上第一个提供外键约束的引擎,除了提供事务处理外,InnoDB 还支持行锁,提供和 Oracle 一样的一致性的不加锁读取,能增加并发读的用户数量并提高性能,不会增加锁的数量。
InnoDB 的设计目标是处理大容量数据时最大化性能,它的 CPU 利用率是其他所有基于磁盘的关系数据库引擎中最有效率的。
InnoDB 是一套放在 MySQL 后台的完整数据库系统,InnoDB 有它自己的缓冲池,能缓冲数据和索引,InnoDB 还把数据和索引存放在表空间里面,可能包含好几个文件,这和 MyISAM 表完全不同,在 MyISAM 中,表被存放在单独的文件中,InnoDB 表的大小只受限于操作系统文件的大小,一般为 2GB。 MySQL 的源代码中,从 3.23.34a 开始包含 InnoDB 表,并在 MySQL -Max 的二进制版本中激活。 如果你使用源码版本下载,自己编译的话,需要采用 --with-innodb 选项: ./configure --with-innodb 在 MySQL-Max-3.23 上使用 InnoDB 时,必须在 my.cnf 或者 my.ini 文件中的 [mysqld] 小节指定启动参数: innodb_data_file_path=ibdata:30M InnoDB 以 GNU GPL 版本 2 的许可发布。 MySQL-Max-3.23: 这个产品可以用于生产环境使用。 MySQL-4.0: 这个是开发版本,和 3.23 相比增加了多表删除,查询结果缓冲,SSL 通信,4.0.1 为 Beta 版本。 在 3.23 中,必须至少指定 innodb_data_file_path 的大小,但是在 MySQL-4.0 中这个值默认为 64MB,文件名为 ibdata1。 为了得到好的性能,必须指定 InnoDB 参数,例如: 对于一台 128MB 内存, 10GB 硬盘的 Windows NT 机器的配置如下: [mysqld] innodb_data_home_dir = c:/ibdata # 数据文件必须能容下数据和索引 innodb_data_file_path = ibdata1:2000M;ibdata2:2000M # 设置缓冲池大小为内存的 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 # 设置日志文件大小为缓冲池的 15%。 set-variable = innodb_log_file_size=10M set-variable = innodb_log_buffer_size=8M (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |