前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >【MySQL数据库】详细讲解MySQL的存储引擎

【MySQL数据库】详细讲解MySQL的存储引擎

原创
作者头像
用户10753035
发布2023-09-13 23:20:49
2860
发布2023-09-13 23:20:49
举报
文章被收录于专栏:从删库到跑路

🌺存储引擎简介

存储引擎就是存储数据,建立索引,更新,查询数据等技术的实现方式。

存储引擎是基于表的,而不是基于库的,所以存储引擎也被称为表类型。

🎄查询当前数据库支持的存储引擎

代码语言:sql
复制
show engines;

🎄创建表并指定存储引擎

代码语言:sql
复制
create table my_memory(
    id int,
    name varchar(10)
)engine = 存储引擎;

🌺默认存储引擎(重要)

InnoDB

✨InnoDB简介

InnoDB是一种兼顾可靠性和高性能的通用存储引擎,在MySQL5.5之后,InnoDB是默认的MySQL存储引擎

✨InnoDB特点

DML操作遵循ACID模型,支持事务

行级锁,提高并发访问性能

支持外键FOREIGN KEY约束,保证数据的完整性和正确性

✨InnoDB文件

🤖格式

XXX.ibd :XXX代表的是表名

InnoDB引擎的每张表都会对应这样的一个表文件,存储该表的表结构(frm,sdi),数据和索引。

🤖参数

innodb_file_per_table

🎈查看InnoDB文件

注意!!!

要在ProgramDate里面查看InnoDB文件,但是ProgramDate是隐藏文件

我们需要

找到自己的数据库的存储位置

就会发现下面有.ibd文件

.ibd文件是二进制文件,不能使用记事本打开,那么应该如何查看.ibd文件呢

🏳️‍🌈使用命令来查看

当前目录下面输入cmd,进入命令行模式

输入命令

ibd2sdi表示从ibd文件里面提取sdi表结构数据

可以看到文件里面是表结构

✨InnoDB特点

🌺MyISAM存储引擎

✨MyISAM介绍

MyISAM是MySQL早期的默认存储引擎

✨MyISAM特点

不支持事务,不支持外键

支持表锁,不支持行锁

访问速度快

✨MyISAM文件

xxx.sdi:存储表结构信息

xxx.MYD:存储数据

xxx.MYI:存储索引

🌺Memory存储引擎

✨Memory介绍

Memory引擎的表数据是存储在内存中的,由于受到硬件问题,或者断电问题的影响,只能将这些表作为临时表或缓存使用

✨Memory特点

内存存放

默认使用hash索引

✨Memory文件

xxx.sdi:存储表结构信息

🍔如何选择存储引擎

🏳️‍🌈总结

🥰如果大家有不明白的地方,或者文章有问题,欢迎大家在评论区讨论,指正🥰

我正在参与 腾讯云开发者社区数据库专题有奖征文

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 🌺存储引擎简介
  • 🎄查询当前数据库支持的存储引擎
  • 🎄创建表并指定存储引擎
  • 🌺默认存储引擎(重要)
    • ✨InnoDB简介
      • ✨InnoDB特点
        • ✨InnoDB文件
          • 🎈查看InnoDB文件
        • ✨InnoDB特点
        • 🌺MyISAM存储引擎
          • ✨MyISAM介绍
            • ✨MyISAM特点
              • ✨MyISAM文件
              • 🌺Memory存储引擎
                • ✨Memory介绍
                  • ✨Memory特点
                    • ✨Memory文件
                    • 🍔如何选择存储引擎
                    • 🏳️‍🌈总结
                    相关产品与服务
                    云数据库 MySQL
                    腾讯云数据库 MySQL(TencentDB for MySQL)为用户提供安全可靠,性能卓越、易于维护的企业级云数据库服务。其具备6大企业级特性,包括企业级定制内核、企业级高可用、企业级高可靠、企业级安全、企业级扩展以及企业级智能运维。通过使用腾讯云数据库 MySQL,可实现分钟级别的数据库部署、弹性扩展以及全自动化的运维管理,不仅经济实惠,而且稳定可靠,易于运维。
                    领券
                    问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档