首页 > 数据库 >MySQL中常见的存储引擎有什么?

MySQL中常见的存储引擎有什么?

时间:2024-09-13 12:52:58浏览次数:15  
标签:存储 索引 引擎 InnoDB MySQL 数据

MySQL中常见的存储引擎有什么?

MySQL中有三种常见的引擎:InnoDB(默认)MyISAMMemory

InnoDB存储引擎作为MySQL的默认存储引擎有很多特点:

  • B+树作为索引结构,叶子节点上存放表中的数据,非叶子节点存放索引。
  • 支持事务ACID ----> 原子性,一致性,隔离性,持久性。
  • 事务隔离级别。(读未提交,读已提交,可重复读,串行化)
  • 支持外键。
  • 支持表锁和行锁。
  • 适合处理大量数据,性能好。

MyISAM引擎特点:

  • 同样使用B+树作为索引结构,但与InnoDB不同的是,它的叶子节点data域存放的是数据记录的地址,在拿到叶子节点的地址后,再去磁盘中查找数据。
  • 不支持事务。
  • 支持表锁,不支持行锁。
  • 不支持外键。
  • 对事务完整性没有要求。
  • 存储了行数。(意味着 select count(*) from t速度很快,因为不用全表扫描,直接拿出它保存的数值就行)
  • 强调读取速度。
  • 适合场景:如果一个表只需要查询,而不需要修改,删除的话,就可以使用这个引擎,加快效率。

Memory引擎特点:

  • 使用保存在内存中的内容来创建表,每个MEMORY表只实际对应一个磁盘文件。
  • MEMORY类型的表访问的非常的快,因为它的数据是放在内存中的,并且默认使用Hash索引。
  • 因为在内存中进行操作,所以它的速度非常快(比MyISAM,InnoDB还要快),但是一旦关闭服务,表中的数据就会丢失,数据的安全性没有保证。
  • 存储的数据必须是长度不变的格式。

所以,要是想要对SQL进行优化,也可以选择一个合适的引擎去加快查询速度,但要确保引擎的合理性。

标签:存储,索引,引擎,InnoDB,MySQL,数据
From: https://blog.csdn.net/Patrick_Srar/article/details/141958782

相关文章

  • 基于Java+Springboot+Mysql实现智能物业信息化管理系统功能设计与实现三
    一、前言介绍:1.1项目摘要现代社会对物业管理效率和服务质量不断提升的需求。随着城市化进程的加速和房地产市场的蓬勃发展,物业管理行业面临着越来越多的挑战和机遇。传统的物业管理方式往往依赖于人工操作和经验判断,效率低下且难以满足现代社会的需求。因此,借助信息化技......
  • 基于Java+Springboot+Mysql实现智能物业信息化管理系统功能设计与实现四
    一、前言介绍:1.1项目摘要现代社会对物业管理效率和服务质量不断提升的需求。随着城市化进程的加速和房地产市场的蓬勃发展,物业管理行业面临着越来越多的挑战和机遇。传统的物业管理方式往往依赖于人工操作和经验判断,效率低下且难以满足现代社会的需求。因此,借助信息化技......
  • 从MySQL JSON字段中提取去重城市列表的SQL查询
    重点:数据库有一个城市字段,是一个json数组(["北京市","上海市","广州市"]),每条数据的城市可能重合,通过下面SQL可返回去重后的城市列表,mysql版本要5.7以上才支持。SQL如下:SELECTDISTINCTTRIM(JSON_UNQUOTE(JSON_EXTRACT(城市json字段名,CONCAT('$[',n.n,']'))))AScityF......
  • 火山引擎VeDI核心产品DataTester再进化,A/B大模型应用评测功能上线
    更多技术交流、求职机会,欢迎关注字节跳动数据平台微信公众号,回复【1】进入官方交流群近日,火山引擎A/B测试产品DataTester上线了A/B大模型应用评测功能。此次升级不仅强化了模型上线前的基础能力评测,还新增了针对线上使用场景的全面、系统检测与评估机制,为企业在模型应用的全周期管......
  • MySQL数据库之存储引擎(附简历案例,客户案例)
     作者简介:我是团团儿,是一名专注于云计算领域的专业创作者,感谢大家的关注 座右铭:   云端筑梦,数据为翼,探索无限可能,引领云计算新纪元 个人主页:团儿.-CSDN博客前言:在当今的信息化时代,数据库作为信息存储与管理的核心基础设施,其性能、可靠性和可扩展性直接决定了应用的运......
  • Prometheus修改默认数据存储时间
    Prometheus修改默认数据存储时间Prometheus的数据存储时间是通过命令行参数--storage.tsdb.retention.time来设置的。这个参数指定了Prometheus在本地存储中保留数据的时间长度,默认为15天。如果需要延长/缩短数据保留时间,可以将该参数的值设置为更大/更小的时间值。步骤1:......
  • MySQL视图
    一、常见的数据库对象对象描述表(TABLE)表是存储数据的逻辑单元,以行和列的形式存在,列就是字段,行就是记录数据字典就是系统表,存放数据库相关信息的表。系统表的数据通常由数据库系统维护,程序员通常不应该修改,只可查看约束(CONSTRAINT)执行数据校验的规则,用于保证数据完整性的规......
  • MySQL中的约束
    约束概述1.1为什么需要约束数据完整性(DataIntegrity)是指数据的精确性(Accuracy)和可靠性(Reliability)。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成无效操作或错误信息而提出的。为了保证数据的完整性,SQL规范以约束的方式对表数据进行额外的条......
  • 气膜料仓:高效环保的原料存储新选择—轻空间
    随着有色金属行业的飞速发展,尤其是铝加工产业的需求激增,原料存储面临着更高的环保和效率要求。气膜料仓作为一种全新的存储解决方案,凭借其环保性能、经济性和智能化优势,正在成为有色金属行业中原料存储的理想选择。1.快速响应的安装与经济性传统料仓建设周期长、成本高,常......
  • 备份MySQL binlog
    以前备份binlog时,都是先在本地进行备份压缩,然后发送到远程服务器中。但是这其中还是有一定风险的,因为日志的备份都是周期性的,如果在某个周期中,服务器宕机了,硬盘损坏了,就可能导致这段时间的binlog就丢失了。而且,以前用脚本对远程服务器进行备份的方式,有个缺点:无法对MySQL服务器当......