mysql服务14001,MySQL存储引擎详解

MySQL存储引擎

在创建表时可以指定表的类型,也就是表的存储引擎。表的存储引擎决定了数据如何存储及如何访问,还有事务如何存储。表的存储引擎在很大程度上影响着处理SQL语句所需的存储空间和速度。不同的存储引擎所具有的特点也有所不同,有些存储引擎在处理很多复杂的SELECT语句时非常适合,而另一些则在实现快速更新时比较适合。

MySQL运行为每个表定义存储引擎,如果默认,则会选择默认的存储引擎。在Windows平台下,默认存储引擎是InnoDB,在Linux平台下则是MyISAM.MySQL还支持其他很多种存储引擎可以使用show engines语句来查看,

fff6c98081bf8904098fb5e1bd59ff4b.gif

主要存储引擎:MyISAM、InnoDB、MEMORY介绍:

MyISAM

它不支持事务,也不支持外键,访问速度快,对事务完整性没有要求或者以SElECT INSERT为主的应用基本都可以使用这个引擎来创建表。每个MyISAM在磁盘上存储成3个文件文件的名字都以表的名字开始,扩展名指出文件类型。

.frm(存储表定义)

.MYD(MYData,数据文件)

.MYI(MYIndex,索引文件)

可以把数据文件和索引文件放在不同目录。

InnoDB

InnoDB存储引擎提供了具有提交,回滚和崩溃恢复能力的事务安全。但是对比MyISAM的存储引擎InnoDB写的处理效率差一些并且会占用更多的磁盘空间以保留数据和索引

MEMORY存储引擎

MEMORY存储引擎用存在内存中的内容来创建表。每个MEMORY表和一个磁盘文件关联起来。文件名由表的名字开始,并且由一个.frm的扩展名来指明它存储的表定义。

如名字所指明的,MEMORY表存储在内存中,且默认使用哈希索引。这使得它们非常快,并且对创建临时表非常有用。可是,当服务器关闭之时,所有存储在MEMORY表里的数据丢失。因为表的定义被存在磁盘上的.frm文件中,所以表自身继续存在,在服务器重启时它们是空的。所以在创建临时表时,推荐使用MEMORY存储引擎。

与MyISAM表一样,MEMORY表也不支持事务功能。

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值