MySQL存储引擎-概述

news2024/12/20 3:25:16

存储引擎

存储引擎(Storage Engine)是数据库管理系统中负责数据存储和检索的部分。之前在MySQL的历史地位中曾经讲过,存储引擎是可插拔的。5.5之前默认采用MyISAM存储引擎,从5.5开始采用InnoDB存储引擎。

9大存储引擎

可以通过 show engines 查看数据库的存储引擎
9大存储引擎

  • ARCHIVE:
    ○ 特性:用于存储大量未修改的数据,如日志信息。
    ○ 压缩:数据压缩存储,节省空间。
    ○ 事务性:不支持事务处理。
    ○ 支持的操作:只支持插入和选择操作,不支持更新和删除。
  • BLACKHOLE:
    ○ 特性:被称为“黑洞”存储引擎,写入的数据会消失,相当于/dev/null。
    ○ 用途:用于复制数据到其他服务器时的中继,或者用于测试。
    ○ 事务性:不支持事务处理。
  • MRG_MYISAM:
    ○ 特性:合并MyISAM表,可以将多个相同的MyISAM表合并为一个表进行查询。
    ○ 事务性:不支持事务处理。
    ○ 用途:适用于需要合并多个相同结构表的场景。
  • FEDERATED:
    ○ 特性:允许访问远程MySQL服务器上的表。
    ○ 事务性:不支持事务处理。
    ○ 用途:适用于需要从远程服务器访问数据的场景。
  • MyISAM:
    ○ 特性:非事务性存储引擎,表级锁定。
    ○ 用途:适用于读密集型应用,支持全文索引。
  • PERFORMANCE_SCHEMA:
    ○ 特性:用于监控数据库性能。
    ○ 用途:系统表,用于收集数据库性能相关的信息。
  • InnoDB:
    ○ 特性:支持事务、行级锁定和外键。
    ○ 默认:从MySQL 5.5.5开始成为默认存储引擎。
    ○ 事务性:支持事务处理。
  • MEMORY:
    ○ 特性:基于哈希存储,数据存储在内存中,访问速度快。
    ○ 持久性:数据在数据库重启后会丢失。
    ○ 事务性:支持事务处理。
  • CSV:
    ○ 特性:将表存储为CSV文件。
    ○ 事务性:不支持事务处理。
    ○ 用途:适用于需要将数据导出为CSV格式的场景。

Innodb和MyISAM的区别

  • 事务和外键
    ○ InnoDB支持事务和外键,具有安全性和完整性,适合大量insert或update操作
    ○ MyISAM不支持事务和外键,它提供高速存储和检索,适合大量的select查询操作
  • 锁机制
    ○ InnoDB支持行级锁,锁定指定记录。
    ○ MyISAM支持表级锁,锁定整张表。
  • 并发处理能力
    ○ MyISAM使用表锁,会导致写操作并发率低,读之间并不阻塞,读写阻塞。
    ○ InnoDB读写阻塞可以与隔离级别有关,可以采用多版本并发控制(MVCC)来支持高并发
  • 索引结构
    ○ InnoDB使用聚簇索引,索引和记录在一起存储
    ○ MyISAM使用非聚簇索引,索引和记录分开分开存储。
  • 存储文件
    ○ InnoDB表对应两个文件,一个.frm表结构文件,一个.ibd数据文件。InnoDB表最大支持64TB;
    ○ MyISAM表对应三个文件,一个.frm表结构文件,一个MYD表数据文件,一个.MYI索引文件。MyISAM表默认限制是256TB。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2262477.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析

【网络取证篇】取证实战之PHP服务器镜像网站重构及绕密分析 在裸聊敲诈、虚假理财诈骗案件类型中,犯罪分子为了能实现更低成本、更快部署应用的目的,其服务器架构多为常见的初始化网站架构,也称为站库同体服务器!也就是说网站应用…

【数据结构进阶】AVL树深度剖析 + 实现(附源码)

🌟🌟作者主页:ephemerals__ 🌟🌟所属专栏:数据结构 目录 前言 一、AVL树的概念 二、AVL树底层解析及实现 1. 节点的定义 2. 接口声明 3. AVL树的插入 3.1 更新平衡因子 3.2 旋转(重点…

java_断点调试(debug)

按照如下配置好后,即可点击“F7”,进入相应的方法,查看源码 package com.hspedu.debug_;//debug对象创建的过程,加深对调试的理解 public class Debug01 {public static void main(String[] args) {//创建对象的流程//(1&#xff…

YOLOv11融合[CVPR2024]Starnet中的star block特征提取模块

YOLOv11v10v8使用教程: YOLOv11入门到入土使用教程 YOLOv11改进汇总贴:YOLOv11及自研模型更新汇总 《Rewrite the Stars》 一、 模块介绍 论文链接:https://arxiv.org/abs/2403.19967 代码链接:https://github.com/ma-xu/Rewri…

【kubernetes】k8s集群的简述与搭建

简述 Kubernetes(简称 K8s)是一个开源的容器编排平台,用于自动化部署、扩展和管理容器化应用程序 关键特性 自动化部署和回滚:Kubernetes 可以自动化地部署和回滚应用程序,确保应用程序始终处于预期的状态。服务发现…

SpringBoot+vue实现WebSocket通信

WebSocket是一种在单个TCP连接上进行全双工通信的协议。WebSocket使得客户端和服务器之间的数据交换变得更加简单,允许服务器主动向客户端推送数据。 WebSocket的主要特点: 全双工通信:客户端和服务器之间的数据可以同时双向传输低延迟&…

【BUG】记一次context canceled的报错

文章目录 案例分析gorm源码解读gin context 生命周期context什么时候cancel的什么时候context会被动cancel掉呢? 野生协程如何处理 案例分析 报错信息 {"L":"ERROR","T":"2024-12-17T11:11:33.0050800","file"…

H5 中 van-popup 的使用以及题目的切换

H5 中 van-popup 的使用以及题目的切换 在移动端开发中,弹窗组件是一个常见的需求。vant 是一个轻量、可靠的移动端 Vue 组件库,其中的 van-popup 组件可以方便地实现弹窗效果。本文将介绍如何使用 van-popup 实现题目详情的弹窗展示,并实现…

【第一节】Git的简介和安装

目录 一、git的介绍 二、git 的安装 2.1 Linux 平台安装 2.2 源码安装 2.3 Windows 平台安装 2.4 Mac 平台安装 2.5 Git 配置 2.5.1 配置文件 2.5.2 用户信息配置 2.5.3 文本编辑器配置 2.5.4 差异分析工具配置 2.5.5 查看配置信息 一、git的介绍 Git 是一种开源的…

奇怪的知识又增加了,ESP32下的Lisp编程:ULisp--Lisp for microcontrollers

ESP32下有MicroPython,那么我就在想,有Lisp语言支持吗?答案是果然有!有ULisp,专门为MCU设计的Lisp! 网址:uLisp - Lisp for microcontrollers 介绍:用于微控制器的 Lisp 适用于 Ar…

决策树的生成与剪枝

决策树的生成与剪枝 决策树的生成生成决策树的过程决策树的生成算法 决策树的剪枝决策树的损失函数决策树的剪枝算法 代码 决策树的生成 生成决策树的过程 为了方便分析描述,我们对上节课中的训练样本进行编号,每个样本加一个ID值,如图所示…

51c嵌入式~单片机~合集2

我自己的原文哦~ https://blog.51cto.com/whaosoft/12362395 一、不同的电平信号的MCU怎么通信? 下面这个“电平转换”电路,理解后令人心情愉快。电路设计其实也可以很有趣。 先说一说这个电路的用途:当两个MCU在不同的工作电压下工作&a…

Kerberos实验

kdc:192.168.72.163 客户端(机器账户win10):192.168.72.159 用户:administrator 抓包:开机登录win10,使用administrator域用户凭据登录。 生成 Kerberos 解密文件 抓取 krbtgt 用户和 win1…

AI一键分析小红书对标账号‼️

宝子们,AI小助手近期发现了一款宝藏AI工具,拥有对标账号AI分析功能,只需10秒就能全面掌握对标账号的运营情况,并且可以根据分析结果提供创作方向和灵感,轻松助力1:1复刻起号! 功能亮点: &…

大腾智能CAD:国产云原生三维设计新选择

在快速发展的工业设计领域,CAD软件已成为不可或缺的核心工具。它通过强大的建模、分析、优化等功能,不仅显著提升了设计效率与精度,还促进了设计思维的创新与拓展,为产品从概念构想到实体制造的全过程提供了强有力的技术支持。然而…

VMware虚拟机 Ubuntu没有共享文件夹的问题

在虚拟机的Ubuntu系统中,共享文件目录存放在 mnt/hgfs 下面,但是我安装完系统并添加共享文件后发现,在mnt下连/hgfs目录都没有。 注意:使用共享文件目录需要已安装VMtools工具。 添加共享文件目录 一:在超级用户下 可…

OpenGL ES 01 渲染一个四边形

项目架构 着色器封装 vertex #version 300 es // 接收顶点数据 layout (location 0) in vec3 aPos; // 位置变量的属性位置值为0 layout (location 1) in vec4 aColors; // 位置变量的属性位置值为1 out vec4 vertexColor; // 为片段着色器指定一个颜色输出void main() {gl…

leetcode二叉搜索树部分笔记

提示:文章写完后,目录可以自动生成,如何生成可参考右边的帮助文档 二叉搜索树 1. 二叉搜索树的最小绝对差2. 二叉搜索树中第 K 小的元素3. 验证二叉搜索树 1. 二叉搜索树的最小绝对差 给你一个二叉搜索树的根节点 root ,返回 树中…

推送本地仓库到远程git仓库

目录 推送本地仓库到远程git仓库1.1修改本地仓库用户名1.2 push 命令1.3远程分支查看 推送本地仓库到远程git仓库 删除之前的仓库中的所有内容,从新建库,同时创建一个 A.txt 文件 清空原有的远程仓库内容,重新创建一个新的仓库,…