MySQL存储引擎

前言

在ITOO5.0的时候,创建数据库遇到了一些问题,在解决问题的过程中也对MySQL有了一些了解,前面几篇博客介绍了MySQL的远程连接,基本操作、和一些常见错误的解决。这篇博客说说我之前在sql server中没有遇到的东西——MySQL数据库存储引擎。

MySQL存储引擎

存储 引擎就是指表的类型,数据库的存储引擎决定了表在计算机中的存储方式。
在这次ITOO5.0中遇到了三种引擎:Innodb、NDB、MyISAM。

InnoDB

InnoDB是5.5版本后MySQL的默认事务型存储引擎,也是最重要、使用最广泛的存储引擎。InnoDB这个存储引擎是创建有外键表的时候必须要用到的存储引擎,它给MySQL的表提供了事务、回滚修复能力和多版本并发控制的事务安全。InnoDB支持自动增长列,自动增长列的值不能为空,且值必须唯一,所以在MySQL中规定的自增列必须是主键。

InnoDB功能强大,事务性极强,但是它也有不足,缺点是其读写效率稍差,占用的数据空间相对比较大。

NDB

NDB属于集群存储引擎,ITOO5.0就是用这个存储引擎来实习集群的,但是用了NDB之后就不能用InnoDB,不用InnoDB给表添加外键就显得很困难。到网上查了一下,集群的方法很多,用NDB实现的商业例子很少。

MyISAM

在MySQL5.1及之前的版本,MyISAM是默认的存储引擎。MyISAM存储引擎占用空间小、处理速度快,但是不支持事务的完整性,不支持崩溃后的安全恢复。它适用于只读数据,或是表比较小、可以忍受修复的操作。

基本操作

查看MySQL数据库支持的存储引擎

1、show engines
使用show engines语句,这个语句可以用“;”结束,也可以用“\G”或者“\G”结束。使用“;”和“\g”的作用相同,“\G”可以让结果显示更加易读。

show engines;的运行效果

MySQL存储引擎_第1张图片

show engines\g的运行效果

show engines\的运行效果

MySQL存储引擎_第2张图片

2、show variables like ‘have%’;
使用show variables like ‘have%’;语句可以显示支持的存储引擎的信息

MySQL存储引擎_第3张图片

3、show variables like ’storage_engine’;
使用show variables like ’storage_engine’;语句可以查询默认存储引擎。
MySQL存储引擎_第4张图片

修改默认存储引擎

如果想更改默认的存储引擎,可在安装路径里的my.ini的文件夹下进行修改。如果默认的innodb引擎改为MyISAM引擎,可将“default-storage-engine=INNODB”修改为“default-storage-engine=MyISAM”,然后重启服务,修改生效。

总结

MySQL的存储引擎有很多东西需要学,现在学到的只是一些皮毛。真的是学起来才知道里面的东西多。

你可能感兴趣的:(数据库,mysql,存储)