MySQL存储结构MyISAM和InnoDB | |
|
|
来源: ChinaUnix博客 日期: 2005.12.12 14:38 (共有条评论) 我要评论 | |
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% . 本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u/6541/showart_61105.html |
- 浏览: 891631 次
- 性别:
- 来自: 上海
最新评论
-
zzuliuli:
很实用,一直关注
mysql的执行计划 -
rxin2009:
你好,最近在解决redis数据同步的问题,找到了tedis,但 ...
taobao/tedis的redis集群 -
zhangping2056:
楼主接下来要考虑页面静态化与细节上面的东西了
Nginx与Redis解决高并发问题 -
XieFuQ:
Tomcat的重启shell脚本 -
jovinlee:
jovinlee 写道 jov ...
Tomcat的重启shell脚本
相关推荐
MyISAM存储引擎的特点是:表级锁、不支持事务和全文索引,适合一些CMS内容管理系统作为后台数据库使用,但是使用大并发、重负荷生产系统上,表锁结构的特性就显得力不从心; 以下是MySQL 5.7 MyISAM存储引擎的版本...
在 MySQL 数据库系统中,存在多种不同的存储引擎,其中最为人所熟知且广泛使用的两种是 MyISAM 和 InnoDB。这两种存储引擎各自具有独特的特点和适用场景。 #### InnoDB:事务安全与外键支持 InnoDB 是 MySQL 中...
MySQL数据库系统提供了多种存储引擎,其中最常用的两种是MyISAM和InnoDB。它们各自具有独特的特性和适用场景,理解二者的性能差异对于优化数据库设计至关重要。 MyISAM引擎是MySQL早期的默认存储引擎,以其高速度和...
MySQL存储引擎MyISAM与InnoDB的区别 一、InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。 二、MyISAM适合查询...
MySQL存储引擎--MyISAM与InnoDB区别 MySQL是一种关系型数据库管理系统,它支持多种存储引擎,每种存储引擎都有其特点和优缺。MyISAM和InnoDB是MySQL中最常用的两种存储引擎,它们都有其优缺点,本文将对比MyISAM...
MyISAM和InnoDB是MySQL中最常用的两种存储引擎,它们各自拥有不同的特点和适用场景。 #### MyISAM引擎概述 MyISAM是MySQL早期默认使用的存储引擎,它主要适用于读取密集型的应用场景。MyISAM支持表级锁定,这意味...
MySQL两种表存储结构MyISAM和InnoDB的性能比较测试 在 MySQL 中,MyISAM 和 InnoDB 是两种主要的表存储结构,它们在性能方面存在着一定的差异。MyISAM 是 MySQL 的默认存储引擎,而 InnoDB 是一种事务安全的存储...
自己总结的 关于mysql存储引擎myisam innodb 的比较 两者区别 对面试会很有帮助
在使用MySQL的过程中对MyISAM和InnoDB这两个概念存在了些疑问,到底两者引擎有何分别一直是存在我心中的疑问。为了解开这个谜题,搜寻了网络,找到了如下信息: MyISAM是MySQL的默认数据库引擎(5.5版之前),由...
### MySQL存储引擎启用InnoDB详解 #### 一、引言 在MySQL数据库系统中,存储引擎扮演着极其重要的角色,它决定了数据如何被存储、检索和管理。其中,InnoDB作为MySQL中最常用的存储引擎之一,提供了众多高级特性,...
MySQL存储引擎是数据库管理系统的核心组件,负责数据的存储、检索和管理。MyISAM和InnoDB是MySQL中两种最常使用的存储引擎,它们各有特点,适用于不同的应用场景。 1. **事务处理**: - **InnoDB** 支持ACID(原子...
MySQL中的存储引擎MyISAM和InnoDB在处理索引上有显著的差异,这些差异主要体现在索引的组织方式以及对数据存储的影响上。两者都基于B+树这种高效的索引结构,但具体实现有所不同。 首先,MyISAM的索引采用非聚集...
### MySQL存储引擎详解:MyISAM与InnoDB的主要区别 #### 一、概述 MySQL作为一款广泛使用的开源关系型数据库管理系统,提供了多种存储引擎供用户根据不同的应用场景选择。其中最常用的两种存储引擎分别是MyISAM和...
MySQL 数据存储引擎 InnoDB 和 MyISAM 的优势及区别分享 MySQL 数据存储引擎 InnoDB 和 MyISAM 是 MySQL 中最常用的两个表类型,每种类型都有其优缺点,本文将详细介绍 InnoDB 和 MyISAM 的特点、优缺点和应用场景...
InnoDB的物理文件结构与MyISAM不同,它将表数据和索引数据存储在一起,并使用单独的日志文件来保证事务回滚和崩溃恢复。InnoDB支持BTree、R-Tree和Hash索引,其索引实现与MyISAM有所不同。InnoDB引入了行级锁,这极...
主要介绍了Mysql 的存储引擎,myisam和innodb的区别,需要的朋友可以参考下