一、数据库的定义
我们说的Mysql数据库是数据库管理系统。其中包含了数据的存储,查询,以及更新数据库中存储数据的的功能等。
二、存储引擎的定义
关系型数据库是以表的形式存储在文件或者内存中。而存储引擎可以称为操作,存储这些表的类型
。
三、支持的存储引擎
|
|
四、详解InnoDB引擎
InnoDB引擎是一个常用的事务型存储引擎。提供了事务,行级锁机制和外键约束的功能。适用于以下场合:
- 事务
- 外键约束
- 崩溃后的灾难恢复
- 高并发,更新密集型的表
- 不支持全文索引
在RUN001数据库中创建MYTABLE,MYTABLE1两张表使用InnoDB引擎,在RUN001文件夹下会生成多个文件:
.frm
结尾的文件是表结构文件
- [tips: 这个文件与数据库引擎无关,任何存储引擎都会去生产这个与表名同名的文件。可以用来在数据库奔溃时恢复表结构]
.ibd
结尾的文件这个是单表空间文件(独立表空间),也就是每个表使用一个表空间文件。存储该表的相关的数据,索引。
- [tips:如果是共享表空间,表数据和索引会保存在默认表空间文件是ibdata1(默认)中,这时候是所有表共用ibdata1(一个或者多个)文件。而bdata1文件不会在RUN001文件夹下]
.opt
结尾的文件是存储改数据库下的所有表的字符集和排序规则
五、详解MyISAM引擎
MyISAM引擎则是不支持事务,行级锁和外键约束的。并且是强调性能,执行速度的引擎。适用于以下场合:
- 新增密集的表,在表有读取查询的同时,支持往表中插入新纪录
- 筛选select密集的表
- 支持全文索引
- 不支持行锁,读取时对需要读到的所有表加锁,写入时则对表加排它锁
在RUN001数据库中创建MYTABLE2,MYTABLE3两张表使用InnoDB引擎,在RUN001文件夹下每张表都会生成三个文件在数据库:
.frm
结尾的文件是表结构文件.MYD
结尾的文件是存储数据文件.MYI
结尾的文件是存储表的索引文件
最后总结一下,InnoDB适合inset和update密集型的表,MyISAM适合select密集的表
提示:最后的归类总结跟引擎使用的索引有关,下节会讲到。
六、使用示例
|
|
(完)
- 本文作者:Cindy
- 本文标题:Create Custom Demain Name Of Github Pages
- 版权声明:自由转载-非商用-非衍生-保持署名(创意共享4.0许可证)