MySQL存储结构MyISAM和InnoDB
2006-06-06 23:07
330 查看
MySQL两种表存储结构MyISAM和InnoDB的性能比较测试 MyISAM 表。MyISAM 存储格式自版本 3.23 以来是 MySQL 中的缺省类型,它有下列特点: ■ 如果操作系统自身允许更大的文件,那么文件比 ISAM 存储方法的大。 ■ 数据以低字节优先的机器独立格式存储。这表示可将表从一种机器拷贝到另一种机器,即使它们的体系结构不同也可以拷贝。 ■ 数值索引值占的存储空间较少,因为它们是按高字节优先存储的。索引值在低位字节中变化很快,因此高位字节更容易比较。 ■ AUTO_INCREMENT 处理比 ISAM 的表更好。详细内容在第2章讨论。 ■ 减少了几个索引限制。例如,可对含 NULL 值的列进行索引,还可以对 BLOB 和 TEXT 类型的列进行索引。 ■ 为了改善表的完整性检查,每个表都具有一个标志,在 myisamchk 对表进行过检查后,设置该标志。可利用 myisamchk - fast 跳过对自前次检查以来尚未被修改过表的检查,这样使此管理任务更快。表中还有一个指示表是否正常关闭的标志。如果服务器关闭不正常,或机器崩溃,此标志可用来检测出服务器起动时需要检查的表。 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% .
相关文章推荐
- MySQL的MyISAM和InnoDB存储引擎表结构
- mysql两种表存储结构myisam和innodb的性能比较测试
- MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
- mysql两种表存储结构myisam和innodb的性能比较测试
- 对比比较MySql innodb 和 MyIsam 两种存储引擎的文件存储结构
- MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
- MySQL两种主要表存储结构MyISAM和InnoDB比较
- MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
- MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
- MySQL两种表存储结构MyISAM和InnoDB的性能比较测试
- MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)
- MySQL存储引擎之Myisam和Innodb总结性梳理
- Mysql 存储引擎中InnoDB与Myisam的主要区别
- Mysql有两种存储引擎:InnoDB与Myisam
- MySQL存储引擎InnoDB与Myisam的六大区别
- MySQL的存储引擎MyISAM与InnoDB有什么区别?
- mysql存储引擎:InnoDB和MyISAM的区别与优劣
- MySQL存储引擎之Myisam和Innodb总结性梳理
- MySQL存储引擎InnoDB、MyISAM 、其它存储引擎介绍
- InnoDB还是MyISAM 再谈MySQL存储引擎的选择