mysql存储引擎相关知识介绍

不知道大家之前对类似mysql存储引擎相关知识介绍的文章有无了解,今天我在这里给大家再简单的讲讲。感兴趣的话就一起来看看正文部分吧,相信看完mysql存储引擎相关知识介绍你一定会有所收获的。

mysql的物理文件组成包括错误日志,查询日志,慢查询日志,事务日志,二进制日志。

,,,,日志文件中记录mysql数据库运行期间发生的变化,记录mysql数据库的客户端连接状况,sql语句的执行情况和错误信息。

mysql的逻辑结构可以看成是二层架构,第一层叫做sql检索,数据库系统处理底层数据库之前的所有工作都在这一层完成,包括权限判断,sql解析,执行计划优化,查询缓存的处理等。第二层就是存储引擎层,叫做存储引擎检索,也是底层数据存取操作实现部分,由多种存储引擎共同组成。

,,,,,,,,实际上每一层都包含各自的很多模块。

,,,, mysql存储引擎

,,,,,,,,,,,, mysql5.1之前的版本是需要安装的时候一起被编译安装的,

,,,,,,,,,,,,从mysql5.1开始,mysql AB在架构改造的时候,让存储引擎和sqllayes各自更为独立,可以做到在线加载新的存储引擎,而不影响mysql的正常运行。插件式存储引擎的架构为存储引擎的加载和移出更为灵活方便。

,,,,,,,,,,,,主要的mysql存储引擎插件包括myLSAM, Innodb, DDB集群,玛丽亚,猎鹰,内存、归档等,最著名而且使用最为广泛的myLSAM和Innodb两种存储引擎。

,,,,,,,, myLSAM存储引擎是mysql5.1之前的默认存储引擎

,,,,,,myLSAM存储引擎的表在数据库中,每一个表都被存放为三个以表名命名的物理文件,任何的存储引擎都会存放在以.frm文件的表结构中,.MYD和.MYL文件分别存放了表的数据和索引数据,每个表都有且仅有这样三个文件做为myLSAM存储类型的表的存储。不管表有多少个索引,都是存放在同一个.MYL文件中。

,,,,,,,, myLSAM至此三种类型的索引

,,,,,,,,,,,, b - tree索引,就是所有索引借点都安装平衡树的数据结构来存储,所有的索引数据节点都在叶节点。

,,,,,,,,,,,, r - tree索引,存储方式和b - tree索引有一些区别,主要设计用于存储空间好多维数据的字段做索引。

,,,,,,,,,,,,全文索引就是全文索引,存储结构也是b - tree。只要为了解决在我们需要用像查询的低效问题。

,,,,,,,,,,,,最经常使用的就是b - tree索引,偶尔会使用到全文,r - tree索引一般系统中很少用到.B-Tree索引的所有字段的长度之和不能超过1000字节。

,,,,,,,,不支持事务

,,,,,,,,只有表锁

,,,,,,,,虽然每一个myLSAM的表都是存放一个相同后缀名的。MYD文件中,但是每个文件的存放格式实际上可能并不是完全一样,因为MyLSAM的数据存放格式是分为静态固定长度,动态可变长度以及压缩这三种格式。三种格式中是否压缩由自己选择,可以在创建表的时候通过ROW_FORMAT来指定压缩和defalut,也可以通过myisampack工具来进行压缩,默认不压缩。而在非压缩的情况下,是静态还是动态,就和表中字段的定义相关。只有表中有可变长度类型的字段存在,那么该表就是动态格式,如果没有任何可变长度的字段,则为固定格式。可以通过alter table命令,强行将一个带有varchar类型的字段的dynamix的表转换为固定的,但那好似原varchar字段会被自动转换成字符类型。相反如果将固定转换为动态的,也会将字符类型字段转换为varchar类型。

,,,,,,,,,,,,,,,,,,,,根据表的记录估量占用的磁盘空间

,,,,,,,,,,,,,,,,,,,,,,,,一个表中一行大概有多少字节

,,,,,,,,,,,,,,,,,,,,,,,,更具数据库的表每条增加几行记录,就能算出每条要增加多少硬盘空间,就可根据数据量估算规划多大的空间。

,,,,,,,,,,,,,,,,,,,,,,,,创建数据库tanhong

,,,,,,,,,,,,,,,,,,,,,,,, tanhong创建表。谭(stuid varchar(10)不是零主键,stunmae varchar (20) not null, stusex char (2) not null, stucardid varchar (20) not null, stucardid varchar (20) not null,生日datetime defaukt null,地址varchar(100)默认为空),

,,,,,,,,,,,,,,,,,,,,,,,, desc tanhong.tan;

,,,,,,,,,,,,,,,,,,,, 10个字节+ 20个字节+ 2字节+ 20字节+ 8字节+ 100个字节=1.6 mb

看完mysql存储引擎相关知识介绍这篇文章,大家觉得怎么样?如果想要了解更多相关,可以继续关注我们的行业资讯板块。

mysql存储引擎相关知识介绍