mysql的存储引擎以及适用场景

news2024/11/24 16:31:21

目录

mysql的体系结构

存储引擎简介

三种存储引擎的区别

 如何选择使用哪种的存储引擎?


mysql的体系结构

连接层

最上层是一些客户端的链接服务,主要完成一些类似于连接处理,授权认证,以相关的安全方案。服务器也会为安全接入每个客户端验证它所具有的操作权限

服务层

第二次层架构主要完成大多数的核心服务功能,如SQL接口,并完成缓存的查询,SQL的优化和分析,部分内置函数的执行。所有跨存储引擎的功能也在这一层实现

引擎层

存储引擎真正的负责了MySQL中数据的存储和提取,服务器通过API和存储引擎进行通信。不同的存储引擎具有不同的功能,这样我们可以根据自己的需求,来选取合适的存储引擎

存储层

主要是将数据存储在文件系统之上,并完成与存储引擎的交互

存储引擎简介

不同的引擎具有不同的功能,存储引擎是mysql特有的

在创建表的时候会指定存储引擎,如果不指定就会默认为 InnoDB

InnoDB引擎

在mysql5.5之后,就用做了默认的存储引擎,它是一种高可靠高性能的通用引擎

支持事务;行级锁(相比于表锁,提高了性能),支持外键

MyISAM

早期版本中,MyISAM引擎被设为默认的存储引擎。它是一种较简单的引擎,适用于读密集的应用场景。然而,它不支持事务和外键约束,只支持表级锁。

Memory

 Memory引擎(也称为Heap引擎)是一种存储在内存中的引擎,它的数据不会持久化到磁盘上。由于其数据存储在内存中,它的读写速度非常快。然而,由于数据存在于内存中,当服务器重启、断电或遇到硬件问题时,数据将会丢失。因此,Memory引擎适合用于存储临时数据或缓存。

三种存储引擎的区别

 如何选择使用哪种的存储引擎?

应该根据应用系统的特点去选择使用

InnoDB:是Mysql的默认存储引擎,支持事务,外键。如果应用对事物的完整性有比较高的要求,在并发条件向下要求数据的一致性,数据操作除了插入和查询之外,还包含很多的更新,删除操作,那么他就是最好的选择

MyISAM: 如果应用是以读取操作和插入操作为主,只有很少的更新和删除操作,并且对事务的完整性、并发性要求不高,那么这个存储引擎是非常合适的。

MEMORY: 将所有的数据保存在内存中,访问速度快,通常用于临时表以及缓存。但是他对于表的大小有限制,太大的表无法换存在内存中,而且无法保证数据的安全性。

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

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

相关文章

位运算修行手册

*明明自觉学会了不少知识,可真正开始做题时,却还是出现了“一支笔,一双手,一道力扣(Leetcode)做一宿”的窘境?你是否也有过这样的经历,题型不算很难,看题解也能弄明白&am…

Spring中事务失效的8中场景

1. 数据库引擎不支持事务 这里以 MySQL为例,MyISAM引擎是不支持事务操作的,一般要支持事务都会使用InnoDB引擎,根据MySQL 的官方文档说明,从MySQL 5.5.5 开始的默认存储引擎是 InnoDB,之前默认的都是 MyISAM&#xff…

【node】使用express+gitee搭建图床,并解决防盗链问题

首先创建一个gitee的项目,详细步骤我就不一一说明 注解:大家记得将这个项目开源,还有记得获取自己的私钥,私钥操作如下: node依赖下载: "axios": "cors": "express"…

FPGA设计时序分析一、时序路径

目录 一、前言 二、时序路径 2.1 时序路径构成 2.2 时序路径分类 2.3 数据捕获 2.4 Fast corner/Slow corner 2.5 Vivado时序报告 三、参考资料 一、前言 时序路径字面容易简单地理解为时钟路径,事实时钟存在的意义是为了数据的处理、传输,因此严…

记一次简单的MySql注入试验

试验环境: 1.已经搭建好的php服务器,并可以通过访问到localhost/index.php; 2.已经安装好数据库,并创建表test,表内有name、age等字段,并随便创建几个假数据用于测试;如图: 开始测…

docker 禅道 远程链接 MySQL

主要的坑在下边 红色字体:认真看 第一种方法 搜索镜像 docker search zentao 拉取镜像 docker pull easysoft/zentao:latest 启动容器 –name [容器名] 设置容器名称 -p [主机端口]:80 绑定端口 -v /home/zentao/zentaopms:/www/zentaopms 挂载数据目录 /h…

idea中Easy Code模版配置

首先找到模版位置 找到使用的模版,我用的是MybatisPlus-H,这是我新建的一个模版 controller.java.vm模版 ##导入宏定义 $!{define.vm}##设置表后缀(宏定义) #setTableSuffix("Controller")##保存文件(宏定义&#xff…

PHP8知识详解:PHP8开发工具VS Code的安装

作为PHP8的开发工具有很多,具有IDE功能的有phpstorm、Visual Studio Code、Sublime Text、NetBeans、Eclipse、Codelobster、PHP Designer等,当然还有很多轻量的工具,比如Notepad、Editplus等。本文给你介绍的是万能编辑器Visual Studio Code…

Python基于PyTorch实现循环神经网络回归模型(LSTM回归算法)项目实战

说明:这是一个机器学习实战项目(附带数据代码文档视频讲解),如需数据代码文档视频讲解可以直接到文章最后获取。 1.项目背景 LSTM网络是目前更加通用的循环神经网络结构,全称为Long Short-Term Memory,翻…

计算机视觉(二)图像特征提取

文章目录 颜色特征量化颜色直方图适用颜色空间:RGB、HSV等颜色空间操作 几何特征边缘 Edge边缘定义边缘提取 基于关键点的特征描述子引入几何特征:关键点几何特征:Harris角点FAST角点检测几何特征:斑点局部特征:SIFT预…

GPT-4 模型详细教程

GPT-4(Generative Pretrained Transformer 4)是 OpenAI 的最新语言生成模型,其在各类文本生成任务中表现优秀,深受开发者和研究者喜爱。这篇教程将帮助你理解 GPT-4 的基本概念,并向你展示如何使用它来生成文本。 什么…

前端vue入门(纯代码)35_导航守卫

星光不问赶路人,时光不负有心人 【33.Vue Router--导航守卫】 导航守卫 正如其名,vue-router 提供的导航守卫主要用来通过跳转或取消的方式守卫导航。有多种机会植入路由导航过程中:全局的, 单个路由独享的, 或者组件级的。 记住参数或查…

uniapp JS文件里面调用自定义组件(不用每个页面在template中加组件标签)

前言 工具:uniapp 开发端:微信小程序 其他:uview 2.0 场景:路由器里面,统一验证是否已登录,如果没登录,则直接弹出登录弹窗出来,不管哪个页面都如此。 效果如下: 直接上…

【笔试强训选择题】Day29.习题(错题)解析

作者简介:大家好,我是未央; 博客首页:未央.303 系列专栏:笔试强训选择题 每日一句:人的一生,可以有所作为的时机只有一次,那就是现在!!!&#xff…

rsync—远程同步

目录 一:rsync概述 1.1rsync简介 1.2rsync同步方式 二:rsync特性 三:rsync同步源 四:rsync与cp、scp对比 五:常用rsync命令 六:rsync本地复制实例 七:配置源的俩种表示方法 八&#x…

[NLP]Huggingface模型/数据文件下载方法

问题描述 作为一名自然语言处理算法人员,hugging face开源的transformers包在日常的使用十分频繁。在使用过程中,每次使用新模型的时候都需要进行下载。如果训练用的服务器有网,那么可以通过调用from_pretrained方法直接下载模型。但是就本人…

安全DNS,状态码,编码笔记整理

一 DNS DNS(Domain Name System)是互联网中用于将域名转换为IP地址的系统。 DNS的主要功能包括以下几个方面: 域名解析:DNS最主要的功能是将用户输入的域名解析为对应的IP地址。当用户在浏览器中输入一个域名时,操作…

工程安全监测无线振弦采集仪在建筑物中的应用

工程安全监测无线振弦采集仪在建筑物中的应用 工程安全监测无线振弦采集仪是一种用于建筑物结构安全监测的设备,它采用了无线传输技术,具有实时性强、数据精度高等优点,被广泛应用于建筑物结构的实时监测和预警。下面将从设备的特点、应用场…

力扣热门100题之接雨水【困难】

题目描述 给定 n 个非负整数表示每个宽度为 1 的柱子的高度图,计算按此排列的柱子,下雨之后能接多少雨水。 示例 1: 输入:height [0,1,0,2,1,0,1,3,2,1,2,1] 输出:6 解释:上面是由数组 [0,1,0,2,1,0,1,3…