Mysql- 存储引擎

目录

1.Mysql体系结构

2.存储引擎简介

3.存储引擎特点

InnoDB

MyISAM

Memory

 4.存储引擎选择


1.Mysql体系结构

MySQL整体的逻辑结构可以分为4层:

连接层:进行相关的连接处理、权限控制、安全处理等操作

服务层:服务层负责与客户层进行连接处理、处理以及执行SQL语句等,主要包含连接器、查询缓存、优化器、执行器、存储引擎。触发器、视图等也在这一层

存储引擎层:存储引擎层负责对数据的存储和提取,常见的存储引擎有 InnoDBMyISAM、Memory 等,在MySQL5.5之后,MySQL默认的存储引擎就是InnoDB,InnoDB默认使用的索引结构就是B+树,上面的服务层就是通过API接口与存储引擎层进行交互的

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


2.存储引擎简介

        存储引擎就是存储数据、建立索引、更新/查询数据等技术的实现方式。存储引擎是基于表的,可被称为表类型。

查询建表语句

show create table account;

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

show  engines;


3.存储引擎特点

InnoDB

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

特点:

  • DML 操作遵循 ACID 模型,支持事务 ;
  • 行级锁,提高并发访问性能;
  • 支持外键 FOREIGN KEY约束,保证数据的完整性和正确性;

文件:

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

MyISAM

        MyISAM是Mysql早期的默认存储引擎。

特点:

  • 不支持事务,不支持外键;
  • 支持表锁,不支持行锁;
  • 访问速度快。

文件:

  • xxx.sdi:存储表结构信息
  • xxx.MYD:存储数据
  • xxx.MYI:存储索引

Memory

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

特点:

  • 内存存放
  • hash索引(默认)

文件:

  • xxx.sdi:存储表结构信息


 4.存储引擎选择

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

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

相关文章

C++设计模式笔记

设计模式 如何解决复杂性? 分解 核心思想:分而治之,将大问题分解为多个小问题,将复杂问题分解为多个简单的问题。 抽象 核心思想:从高层次角度讲,人们处理复杂性有一个通用的技术,及抽象。…

博客迁移说明

后续博客的迁移说明 终于,我还是选择了迁移博客,本来只想改在简介的,但是被官方拒了,遂水此篇 C某N的限制太多,属实被恶心到了,不愿继续发博客在这上面学了使用Github Page搭建自己的博客,后续…

redis总结

1.redis redis高性能的key-value数据库,支持持久化,不仅仅支持简单的key-value,还提供了list,set,zset,hash等数据结构的存储,支持数据的备份(master-slave模式) redis&…

ShardingSphere-Proxy水平分片详解与实战

🚀 ShardingSphere 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜&…

【Sql】Sql Server 2008 数据库附加,错误:9004

【问题描述】 数据库文件存在异常状况,有可能是因为硬盘有坏区引起的。 附加数据库的时候,提示错误9004。 【解决方法】 假设数据库名称为:UFDATA_001_2023 请按顺序执行以下步骤: 1、将数据库的文件名:UFDATA_001_2…

Python爬虫时遇到SSL证书验证错误解决办法汇总

在进行Python爬虫任务时,遇到SSL证书验证错误是常见的问题之一。SSL证书验证是为了确保与服务器建立的连接是安全和可信的,但有时候可能会由于证书过期、不匹配或未受信任等原因导致验证失败。为了解决这个问题,本文将提供一些实用的解决办法…

【电路效应】信号处理和通信系统模型中的模拟电路效应研究(SimulinkMatlab代码实现)

目录 💥1 概述 📚2 运行结果 🎉3 参考文献 🌈4 Matlab代码、Simulink仿真实现 💥1 概述 在信号处理和通信系统模型中,模拟电路效应研究是指考虑到实际电路的特性对信号进行建模和分析的过程。模拟电路效应…

ffplay播放器剖析(6)----音视频同步分析

文章目录 1. 音视频同步基础1.1 音视频同步策略1.2 音视频同步概念1.3 FFmpeg中的时间单位1.4 不同结构体的time_base/duration分析1.5 不同结构体的pts/dts分析1.6 ffplay中Frame结构体分析1.7 Vidoe Frame PTS获取及矫正1.8 Audio Frame PTS的获取 2.以音频为基准3.以视频为基…

excel绘制折线图或者散点图

一、背景 假如现在通过代码处理了一批数据,想看数据的波动情况,是不是还需要写个pyhon代码,读取文件,绘制曲线,看起来也简单,但是还有更简单的方法,就是直接生成csv文件,csv文件就是…

Python 列表详解:从基础到进阶

Python是一种广泛使用的高级编程语言,它的设计强调代码的可读性和简洁的语法。Python支持多种编程范式,包括过程、面向对象和函数式编程。在Python中,列表是一种非常重要的数据类型,它可以包含各种类型的元素,如数字、…

Asp.Net 使用Log4Net (SQL Server)

Asp.Net 使用Log4Net (SQL Server) 1. 创建数据库表 首先,在你的SQL Server数据库中创建一个用于存储日志的表。以下是一个简单的表结构示例: CREATE TABLE [dbo].[Logs]([Id] [INT] IDENTITY(1,1) PRIMARY KEY,[Date] [DATETIME] NOT NULL,[Thread] …

解决安装office出现1402错误和注册表编辑器无法设置安全性错误

写在前面 可能是由于之前的office没有卸载干净,看了很多文章,也有的说是使用了Windows Installer Clean Up卸载office的缘故,最后导致的结果是出现了再次安装office时出现了1402错误,而在解决1402错误的过程中,修改所…

【MySQL】事务之MVCC(多版本并发控制)

【MySQL】事务-MVCC 一、数据库并发的三种场景二、MVCC2.1 3个记录隐藏字段2.2 undo log(撤销日志)2.3 模拟MVCC---update2.3.1 delete2.3.2 insert2.3.3 select 2.4 Read View2.5 整体流程 三、RR(可重复读)与RC(读提…

【3-D深度学习:肺肿瘤分割】创建和训练 V-Net 神经网络,并从 3D 医学图像中对肺肿瘤进行语义分割研究(Matlab代码实现)

💥💥💞💞欢迎来到本博客❤️❤️💥💥 🏆博主优势:🌞🌞🌞博客内容尽量做到思维缜密,逻辑清晰,为了方便读者。 ⛳️座右铭&a…

#P1003. [NOIP2009普及组] 道路游戏

题目描述 小新正在玩一个简单的电脑游戏。 游戏中有一条环形马路,马路上有 nn 个机器人工厂,两个相邻机器人工厂之间由一小段马路连接。小新以某个机器人工厂为起点,按顺时针顺序依次将这 nn 个机器人工厂编号为 1\sim n1∼n,因…

sql server表值函数

一、创建测试表 Employees 二、创建表值函数 -- DROP FUNCTION TableIntSplit;CREATE FUNCTION TableIntSplit(Text NVARCHAR(4000),Sign NVARCHAR(4000)) RETURNS tempTable TABLE(Id INT ) AS BEGIN DECLARE StartIndex INT DECLARE FindIndex INT DECLARE Content VARCHAR(…

阿里云盘自动每日签到无需部署无需服务器(仅限学习交流使用)

一、前言 阿里云盘自动每日签到,无需部署,无需服务器 执行思路:使用金山文档的每日定时任务,执行阿里云盘签到接口。 二、效果展示: 三、步骤: 1、进入金山文档网页版 金山文档官网:https:…

什么是前端工程化?

工程化介绍 什么是前端工程化? 前端工程化是一种思想,而不是某种技术。主要目的是为了提高效率和降低成本,也就是说在开发的过程中可以提高开发效率,减少不必要的重复性工作等。 tip 现实生活举例 建房子谁不会呢?请…

Verilog语法学习——LV7_求两个数的差值

LV7_求两个数的差值 题目来源于牛客网 [牛客网在线编程_Verilog篇_Verilog快速入门 (nowcoder.com)](https://www.nowcoder.com/exam/oj?page1&tabVerilog篇&topicId301) 题目 描述 根据输入信号a,b的大小关系,求解两个数的差值:输入信号a,b…

【飞书】飞书导出md文档 | 飞书markdown文档导出 | 解决飞书只能导出pdf word

一、飞书导出markdown github地址:https://github.com/Wsine/feishu2md 这是一个下载飞书文档为 Markdown 文件的工具,使用 Go 语言实现。 请看这里:招募有需求和有兴趣的开发者,共同探讨开发维护,有兴趣请联系。 二、…