关闭

MySQL存储结构MyISAM和InnoDB

标签: 存储mysqlbufferfile服务器引擎
2587人阅读 评论(0) 收藏 举报
分类:
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% .

0
0
查看评论

MySQL存储结构的使用

今天公司老大让我做一个MySQL的调研工作,是关于MySQL的存储结构的使用。这里我会通过3个例子来介绍一下MySQL中存储结构的使用过程,以及一些需要注意的点。
  • u013761665
  • u013761665
  • 2015-08-20 13:23
  • 3230

MySQL数据存储结构

第一部分:存储引擎及存储结构记住:每个索引就是一个B-tree Mysql最重要的两个存储引擎是: MyISAM: 1、不支持事物:无法回滚 2、不支持聚簇索引:数据不能保存在索引中,单独存储 存储结构: 数据保存在连续的内存中,如果没有行号,还会隐式加上行号,结构如下图: ...
  • zhangyufeijiangxi
  • zhangyufeijiangxi
  • 2017-07-15 17:36
  • 439

对比比较MySql innodb 和 MyIsam 两种存储引擎的文件存储结构

今天对比一下mysql两种常用存储引擎myisam和innodb的文件存储结构: 先说一下两者的大概区别: myisam 更适合读取大于写入的业务,同时不支持事物。 innodb 支持事物,效率上比myisam稍慢。文件存储:myism物理文件结构为:.frm文件:与表相关的元数据信息都存放在...
  • Java_HYL
  • Java_HYL
  • 2016-06-12 11:52
  • 1441

Mysql MYISAM存储引擎 数据存储结构

MYSQL 的内部数据存储一直没有很好的文档. 自己有空研究了一下.[@more@] 1.用单字段来分析行数据: 1.1 建立测试数据 drop table if exists heyf_5 ; create table heyf_5 (name varchar(50)) type myi...
  • BeiiGang
  • BeiiGang
  • 2014-12-11 09:38
  • 1655

MySQL存储结构MyISAM和InnoDB

MySQL两种表存储结构MyISAM和InnoDB的性能比较测试MyISAM 表。MyISAM 存储格式自版本 3.23 以来是 MySQL 中的缺省类型,它有下列特点:■ 如果操作系统自身允许更大的文件,那么文件比 I...
  • xzknet
  • xzknet
  • 2006-06-06 23:07
  • 2587

MySQL体系结构和存储引擎

MySQL体制结构和存储引擎介绍
  • KangRoger
  • KangRoger
  • 2015-10-07 22:42
  • 1937

Innodb、MYISAM的文件存储结构

MySQL的每个数据库都对应存放在一个与数据库同名的文件夹中,MySQL数据库文件包括MySQLserver所创建的数据库文件和MySQL所用存储引擎创建的数据库文件。 查看MySql数据库物理文件存放位置 1、MySQL创建并管理的数据库文件: .frm文件:存储数据表的框架结构,文...
  • MBLHQ
  • MBLHQ
  • 2017-06-09 10:43
  • 376

MySQL存储引擎--MyISAM与InnoDB区别

MyISAM 和InnoDB 讲解   InnoDB和MyISAM是许多人在使用MySQL时最常用的两个表类型,这两个表类型各有优劣,视具体应用而定。基本的差别为:MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但...
  • xifeijian
  • xifeijian
  • 2014-03-03 22:29
  • 184626

Mysql存储过程的基本结构

Mysql存储过程的基本结构
  • just4you
  • just4you
  • 2017-07-13 16:40
  • 226

MySQL整体架构与内存结构

一  mysql 整体框架: MySQL是由SQL接口,解析器,优化器,缓存,存储引擎等组成的。   1. Connectors指的是不同语言中与SQL的交互。 2. Management Serveices & Utilities: 系统...
  • zhang123456456
  • zhang123456456
  • 2017-03-27 15:16
  • 281
    个人资料
    • 访问:1607595次
    • 积分:16836
    • 等级:
    • 排名:第712名
    • 原创:195篇
    • 转载:192篇
    • 译文:2篇
    • 评论:376条
    文章存档
    最新评论