动态ip代理:MySQL架构—存储引擎

在文件系统中,MySQL将每个数据库(schema)保存为数据目录下的一个子目录。创建表时,MySQL会在数据库子目录下创建一个和表名相同的.frm文件保存表的定义。例如创建一个名为MyTable的表,MySQL会在MyTable.frm文件中保存该表的定义。因为MySQL使用文件系统的目录和文件来保存数据库和表的定义,大小写敏感性和具体的平台密切相关。在Windows中,大小写是不敏感的;而在类Unix中则是敏感的。不同的存储引擎保存数据和索引的方式是不同的,但表的定义则是在MySQL服务层统一处理的。

可以使用SHOW TABLE STATUS命令显示表的相关信息。

输出结果表明这是一个InnoDB表。输出中还有很多其他信息以及统计信息。下面简单介绍下含义

Name:表名

Engine:存储引擎类型。旧版本中叫Type。

Row_format:行的格式

Rows:表中的数据行数。在InnoDB中该值是估算值

Avg_row_leng:平均每行包含的字节数

Data_length:表数据的大小(单位为字节)

Max_data_length:表数据的最大容量,此值与存储引擎相关

Index_length:索引的大小(单位为字节)

Data_free:已分配但未使用的空间

Auto_increment:下一个AUTO_INCREMENT的值

Create_time:创建时间

Update_time:表数据最后修改时间

Check_time:使用CKECK TABLE命令或myisamchk工具最后一次检查表的时间

Collation:表的默认字符集和字符列排序规则

Checksum:如果启用,保存的是整个表的实时校验和

Create_options:创建表时的其他选项

Comment:该列包含了一些其他的额外信息,InnoDB中保存的是表空间剩余空间信息

一 InnoDB存储引擎

InnoDB是MySQL的默认事物型引擎,也是最重要、使用最广泛的存储引擎。它被设计为用来处理大量的短期事物(short-lived),短期事物大部分情况是正常提交的,很少会被回滚。InnoDB的性能和自动崩溃恢复特性,使得它在非事物型存储的需求中也很流行。除非有非常特别的原因需要使用其他的存储引擎,否则应该优先考虑InnoDB引擎。如果要学习存储引擎,InnoDB也是一个非常好的学习对象。

1.InnoDB的历史

InnoDB有着复杂的发布历史,了解一下这段历史对于理解InnoDB很有帮助。2008年,发布了所谓的InnoDB  plugin,适用于MySQL5.1版本,但这是Oracle穿件的下一代InnoDB引擎,其拥有者是InnoDB而不是MySQL。这基于很多原因。MySQL默认还是选择了集成旧的InnoDB引擎。当然用户可以自行选择使用新的性能更好、扩展性更加的InnoDB  plugin来覆盖旧的版本。替代了旧版本的InnoDB。

这个现代的InnoDB版本,也就是MySQL5.1中所谓的InnoDB plugin,支持一些新特性,注入利用培训创建索引(building index  by  sorting)、删除或增加索引时不需要赋值全表数据、新的支持压缩的存储格式、新的大型列值如BLOB的存储方式,以及文件格式管理等、很多用户在MySQL5.1中没有使用InnoDB  plugin,或许是因为没有注意到有这个区别、所以如果你使用的是MySQL5.1,一定要使用InnoDB plugin,它要比旧版本好很多。

InnoDB是一个很重要的存储引擎,很多个人和公司都对其贡献代码,而不仅仅是Oracle公司的开发团队。一些重要贡献者包括Google、Yasufumi  Kinoshita、Percona、Facebook等,他们的一些改进被直接一直到官方版本,也有一些由InnoDB团队重新实现。在过去的几年里,InnoDB的改进速度大大加快,主要的改进集中在可测量性、可扩展性、可配置化、性能、各种新特性和对Windows的支持等方面。

为改善InoDB的性能,Oracle投入了大量的资源,并做了很多卓有成效的工作。原有版本超过四核CPU的系统中InnoDB表现不佳,而现在已经可以很好的扩展至24核的系统,甚至在某些场景,32核或者更多的系统中也表现良好。很多改进将在MySQL5.6中引入,当然还有更进一步的改善。——芝麻代理

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31561243/viewspace-2636220/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31561243/viewspace-2636220/

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值