MySQL学习之存储引擎

存储引擎这个名字只有在mysql中存在

(Oracle中有对应的机制,但是不叫做存储引擎。Oracle中没有特殊的名字,

就是“表的存储方式”)

        mysql支持很多存储引擎,每一个存储引擎都对应了一种不同的存储方式。

        每一个存储引擎都有自己的优缺点,需要在合适的时机选择合适的存储引擎。

| user  | CREATE TABLE `user` (

  `id` int DEFAULT NULL,

  `ename` varchar(20) DEFAULT NULL,

  `birth` date DEFAULT NULL,

  `create_time` datetime DEFAULT NULL

) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_0900_ai_ci |

mysql> show engines \G

默认存储引擎!!!

常见的存储引擎?

                        Engine: MyISAM

                                  Support: YES

                                  Comment: MyISAM storage engine

                        Transactions: NO

                                                 XA: NO

                          Savepoints: NO

               

                      MyISAM这种存储引擎不支持事务。

                        MyISAM是mysql最常用的存储引擎,但是这种引擎不是默认的。

                      MyISAM采用三个文件组织一张表:

                                xxx.frm(存储格式的文件)

                              xxx.MYD(存储表中数据的文件)

                                xxx.MYI(存储表中索引的文件) //索引是一本书的目录

        优点:可被压缩,节省存储空间。并且可以转换为只读表,提高检索效率。

        缺点:不支持事务。

提示一下:

对于一张表来说,

只要是主键,

或者加有unique约束的字段上会自动创建索引。

                -----------------------------------------------------------------------------

默认存储引擎:

                        Engine: InnoDB

                        Support: DEFAULT

                        Comment: Supports transactions, row-level locking, and foreign keys

                        Transactions: YES

                                        XA: YES

                         Savepoints: YES

                               

        优点:支持事务、行级锁、外键等。这种存储引擎数据的安全得到保障。

        表的结构存储在xxx.frm文件中

        数据存储在tablespace这样的表空间中(逻辑概念),无法被压缩,无法转换成只读。

        这种InnoDB存储引擎在MySQL数据库崩溃之后提供自动恢复机制

        InnoDB支持级联删除和级联更新。

                -------------------------------------------------------------------------------------

                        Engine: MEMORY

                        Support: YES

                        Comment: Hash based, stored in memory, useful for temporary tables

                        Transactions: NO

                                                 XA: NO

                        Savepoints: NO

                       

        缺点:不支持事务。数据容易丢失。断电即消失。

因为所有数据和索引都是存储在内存当中的。

        优点:查询速度最快。

        以前叫做HEPA引擎。

  • 6
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值