您现在的位置是:首页 > 正文

MySQL中四种常用存储引擎的介绍

2024-02-01 06:51:25阅读 6

(1):MyISAM存储引擎:不支持事务、也不支持外键,优势是访问速度快,对事务完整性没有 要求或者以select,insert为主的应用基本上可以用这个引擎来创建表

支持3种不同的存储格式,分别是:静态表;动态表;压缩表

静态表:表中的字段都是非变长字段,这样每个记录都是固定长度的,优点存储非常迅速,容易缓存,出现故障容易恢复;缺点是占用的空间通常比动态表多(因为存储时会按照列的宽度定义补足空格)ps:在取数据的时候,默认会把字段后面的空格去掉,如果不注意会把数据本身带的空格也会忽略。

动态表:记录不是固定长度的,这样存储的优点是占用的空间相对较少;缺点:频繁的更新、删除数据容易产生碎片,需要定期执行OPTIMIZE TABLE或者myisamchk-r命令来改善性能

压缩表:因为每个记录是被单独压缩的,所以只有非常小的访问开支

(2)InnoDB存储引擎*

该存储引擎提供了具有提交、回滚和崩溃恢复能力的事务安全。但是对比MyISAM引擎,写的处理效率会差一些,并且会占用更多的磁盘空间以保留数据和索引。 
InnoDB存储引擎的特点:支持自动增长列,支持外键约束

(3):MEMORY存储引擎

Memory存储引擎使用存在于内存中的内容来创建表。每个memory表只实际对应一个磁盘文件,格式是.frm。memory类型的表访问非常的快,因为它的数据是放在内存中的,并且默认使用HASH索引,但是一旦服务关闭,表中的数据就会丢失掉。 
MEMORY存储引擎的表可以选择使用BTREE索引或者HASH索引,两种不同类型的索引有其不同的使用范围

Hash索引优点: 
Hash 索引结构的特殊性,其检索效率非常高,索引的检索可以一次定位,不像B-Tree 索引需要从根节点到枝节点,最后才能访问到页节点这样多次的IO访问,所以 Hash 索引的查询效率要远高于 B-Tree 索引。 
Hash索引缺点: 那么不精确查找呢,也很明显,因为hash算法是基于等值计算的,所以对于“like”等范围查找hash索引无效,不支持;

Memory类型的存储引擎主要用于哪些内容变化不频繁的代码表,或者作为统计操作的中间结果表,便于高效地对中间结果进行分析并得到最终的统计结果,。对存储引擎为memory的表进行更新操作要谨慎,因为数据并没有实际写入到磁盘中,所以一定要对下次重新启动服务后如何获得这些修改后的数据有所考虑。

(4)MERGE存储引擎

Merge存储引擎是一组MyISAM表的组合,这些MyISAM表必须结构完全相同,merge表本身并没有数据,对merge类型的表可以进行查询,更新,删除操作,这些操作实际上是对内部的MyISAM表进行的。

网站文章

  • VLAN(虚拟局域网)

    VLAN(虚拟局域网)

    一、VLAN示意图二、理解VLAN2、跨交换机VLAN三、VLAN的类型

    2024-02-01 06:50:55
  • Amazon Aurora MySQL 与 Amazon Redshift 的 Zero ETL 集成已全面可用,一起轻松上手!

    Amazon Aurora MySQL 与 Amazon Redshift 的 Zero ETL 集成已全面可用,一起轻松上手!

    “数据是应用、流程和商业决策的核心。”亚马逊云科技数据库、数据分析和机器学习全球副总裁Swami Sivasubramanian如今,客户常用的数据传输模式是建立从 Amazon Aurora 到 A...

    2024-02-01 06:50:47
  • (三)Boost库之字符串处理

    (三)Boost库之字符串处理

    2019独角兽企业重金招聘Python工程师标准>>> ...

    2024-02-01 06:50:41
  • Elastic:培训视频

    在这篇文章中,我将会把我写的有些内容录制成视频,供大家参考。希望对大家有所帮助。优酷的视频频道地址在这里,B站频道Elastic 简介及Elastic Stack 安装:优酷,腾讯,B站 Elasti...

    2024-02-01 06:50:11
  • 平台级 SAAS 架构的基础:统一身份管理系统

    平台级 SAAS 架构的基础:统一身份管理系统

    为什么80%的码农都做不了架构师?>>> ...

    2024-02-01 06:50:04
  • DVWA靶场存储型XSS漏洞实验

    DVWA靶场存储型XSS漏洞实验

    提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 文章目录 前言 一、pandas是什么? 二、使用步骤 1.引入库 2.读入数据 总结 前言 来自菜鸟的一次简单分享,本次实验主要结合...

    2024-02-01 06:49:56
  • 通过socket通讯控制ur机械臂

    通过socket通讯控制ur机械臂1.socket客户端(连接机械臂)2.控制机械臂运动(发送控制指令)3. 实时 以前一直使用ros跟机械臂打交道,但在使用moveit控制机械臂运动的时候会出现一些...

    2024-02-01 06:49:28
  • 阿里巴巴JarsLink整理

    阿里巴巴JarsLink整理

    一、框架整体类图结构JarsLink整体主要类图二、类功能简介(1)Module类贯彻整个框架,在各个功能中进行传输(2)ModuleLoader接口定义了模块加载的功能,即是将模块加载到新定义的Cl...

    2024-02-01 06:49:20
  • 分布式计算框架

    1、产生背景Web2.0时代,数据爆炸式、指数级增长,大数据分布式计算需求频繁通过单机内存扩展来增强计算能力,已经无法承载大规模数据量的计算分布式计算开发和维护的复杂与多变,对程序员要求太高Googl...

    2024-02-01 06:49:12
  • 第三十八章 立方体贴图和GLSL总结

    第三十八章 立方体贴图和GLSL总结

    2024-02-01 06:49:05