【MySQL】如何理解MySQL的存储引擎

一、常见存储引擎

我们可以知道表的类型是由存储引擎决定的,如图所示,我们可以看到MySQL中支持八种储存引擎,那么我们这里就介绍常用的三种存储引擎,分别是Innodb、MyISAM、Memory。

二、Innodb、MyISAM、Memory的特点

1、Innodb

Innodb存储引擎提供了具有提交 、回滚和崩溃恢复能力的事务安全。但是比起MyISAM存储引擎,Innodb写的处理效率差并且会占用更多的磁盘空间保留数据和索引。

2、MyISAM

MyISAM存储引擎不支持事务、也不支持外键,但访问速度很快,对事务的完整性没有要求。

3、Memory

Memory储存引擎使用内存中的内容来创建表。每个Memory表只实际对应一个磁盘文件。Memory类型的表访问非常得快,因为它得数据是放在内存中得,并且默认使用Hash索引。但是服务器一旦关闭,表中数据会丢失,但表的结构还在。(常用:用户的在线情况

三、Innodb与MyISAM的区别

1. InnoDB支持事务,MyISAM不支持。对于InnoDB每一条SQL语言都默认封装成事务,自动提 交,这样会影响速度,所以最好把多条SQL语言放在begin和commit之间,组成一个事务。

2. InnoDB支持外键,而MyISAM不支持。对一个包含外键的InnoDB表转为MYISAM会失败。

3. InnoDB是聚集索引,数据文件是和索引绑在一起的,必须要有主键,通过主键索引效率很高。 但是辅助索引需要两次查询,先查询到主键,然后再通过主键查询到数据。因此,主键不应该 过大,因为主键太大,其他索引也都会很大。而MyISAM是非聚集索引,数据文件是分离的, 索引保存的是数据文件的指针。主键索引和辅助索引是独立的。 

4. InnoDB支持行锁,MyISAM支持表锁。InnoDB不保存表的具体行数,执行select count(*) from table时需要全表扫描。而MyISAM用 一个变量保存了整个表的行数,执行上述语句时只需要读出该变量即可,速度很快。

5. Innodb不支持全文索引,而MyISAM支持全文索引,查询效率上MyISAM要高。

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

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

相关文章

Spring篇----第三篇

系列文章目录 文章目录 系列文章目录前言一、使用 Spring 有哪些方式?二、什么是 Spring IOC 容器?三、什么是依赖注入?四、可以通过多少种方式完成依赖注入?前言 前些天发现了一个巨牛的人工智能学习网站,通俗易懂,风趣幽默,忍不住分享一下给大家。点击跳转到网站,这…

uniapp腾讯地图JavaScript Api,H5端和原生APP端可用

因项目需要,在uniapp中集成使用腾讯地图,为了方便维护,希望通过一套代码实现H5和APP同时可用。H5显示相对简单,APP端比较麻烦,记录下实现过程 一、集成步骤 1.使用 renderjs script标签使用renderjs,因为…

找本地生活小红书博主,探店注意事项

博主一般分为两大类,测评和探店博主,测评更倾向对产品的检测和使用情况,探店博主更倾向带着粉丝沉浸式体验服务和产品。说白了就是带大家云体验,吸引消费者到店体验!今天和大家分享下找本地生活小红书博主,探店注意事项…

如何解决Nginx启动出现闪退问题?

哈喽,大家好,我是小浪。那么大家首次在启动nginx的时候,绝大部分同学会出现以下情况,就是我们双击nginx.exe文件之后,屏幕闪退一下就没了,然后我们访问localhost:8080提示404. 那么出现这种情况其实是我们…

第十四章[面向对象]:14.9:定制类

一,__len__()方法返回长度 1,len()函数 len()函数: 功能:len() 函数返回对象(字符、列表、元组等)长度或项目个数 语法: len( s ) 参数:s : 要查询长度的对象 返回值: 返回对象长度 2,没有定义__len__()方法时,对实例应用len()函数会引发TypeError class Student: …

飞天使-linux操作的一些技巧与知识点7-devops

文章目录 简述devopsCICD 简述devops 让技术团队,运维,测试等团队实现一体式流程自动化 进阶版图 CICD 持续集成, 从编译,测试,发布的完成自动化流程 持续交付,包含持续集成,并且将项目部署…

Linux快速修改ip地址

Linux修改IP配置 一 、查找ip配置文件 ifcfg-ens33二、编辑 vi ifcfg-ens33文件三、重启网络或者重启系统 一 、查找ip配置文件 ifcfg-ens33 cd /etc/sysconfig/network-scripts/ls //查看network-scripts文件夹下面的文件二、编辑 vi ifcfg-ens33文件 vi ifcfg-ens33注意&…

Debezium发布历史148

原文地址: https://debezium.io/blog/2023/06/12/debezium-2-3-cr1-released/ 欢迎关注留言,我是收集整理小能手,工具翻译,仅供参考,笔芯笔芯. Debezium 2.3.0.CR1 Released June 12, 2023 by Chris Cranford releas…

开源免费的NTFS for mac工具mounty

开源免费的NTFS for mac工具mounty 安装依赖 brew install gromgit/fuse/ntfs-3g-macbrew install --cask macfuse安装mounty 如果已经安装macFUSE和ntfs-3g-mac,可以直接点击下载的dmg安装包,安装升级。第一次启动mounty,你需要接受一系列…

【实战篇】Redis单线程架构的优势与不足

前言 01 Redis中的多线程02 I/O多线程03 Redis中的多进程问题 04 结论 很多人都遇到过这么一道面试题:Redis是单线程还是多线程?这个问题既简单又复杂。说他简单是因为大多数人都知道Redis是单线程,说复杂是因为这个答案其实并不准确。 难道R…

【电路笔记】-RC放电电路

RC放电电路 文章目录 RC放电电路1、概述2、RC放电电路3、RC放电电路示例当电压源从完全充电的 RC 电路中移除时,电容器 C 将通过电阻 R 放电。 1、概述 RC 放电电路利用电阻器-电容器组合的固有 RC 时间常数以指数衰减率对电容器进行放电。 在之前的 RC 充电电路教程中,我们…

面试redis篇-07数据过期策略

原理 假如redis的key过期之后,会立即删除吗? Redis对数据设置数据的有效时间,数据过期以后,就需要将数据从内存中删除掉。可以按照不同的规则进行删除,这种删除规则就被称之为数据的删除策略(数据过期策略…

复刻大模型 Sora 有多难?一张图带你读懂 Sora 的技术路径

近日,OpenAI 发布了视频生成模型Sora,最大的Sora模型能够生成一分钟的高保真视频。同时OpenAI称,可扩展的视频生成模型,是构建物理世界通用模拟器的一条可能的路径。 Sora 能够生成横屏1920*1080视频,竖屏1080*1920视…

Sora-OpenAI 的 Text-to-Video 模型:制作逼真的 60s 视频片段

OpenAI 推出的人工智能功能曾经只存在于科幻小说中。 2022年,Openai 发布了 ChatGPT,展示了先进的语言模型如何实现自然对话。 随后,DALL-E 问世,它利用文字提示生成令人惊叹的合成图像。 现在,他们又推出了 Text-t…

操作系统(1)——学习导论(Ⅰ)

目录 小程一言专栏链接: [link](http://t.csdnimg.cn/6grrU) 学习导论什么是操作系统主要功能强调 操作系统历史硬件层面处理器重要特点and功能 存储器磁盘I/O设备小程常用的I/O设备及其特点 小程一言 本操作系统专栏,是小程在学操作系统的过程中的第一步&#xff…

【最新Dubbo3深入理解】Dubbo3相关面试题整理

欢迎关注公众号(通过文章导读关注:【11来了】),及时收到 AI 前沿项目工具及新技术的推送! 在我后台回复 「资料」 可领取编程高频电子书! 在我后台回复「面试」可领取硬核面试笔记! 文章导读地址…

并发锁机制之深入理解synchronized

并发锁机制之深入理解synchronized Synchronized基础知识 i的JVM字节码指令 getstatic i // 获取静态变量i的值 iconst_1 // 将int常量1压入操作数栈 iadd // 自增 i–的JVM字节码指令 getstatic i // 获取静态变量i的值 iconst_1 // 将int常量1压入操作数栈 isub // 自减…

Uipath 读取Word模板实现录用通知书PDF批量生成

本文主要讲解如何使用Uipath 读取Excel 面试人员信息表,读取Word模板,再批量生成录用通知书PDF文件,该自动化大大提高了HR 的工作效率。 注:本方案实现采用无代码模式,通过拖拉控件实现。 1. 数据准备 1.1 面试人员…

Rust核心:【所有权】相关知识点

rust在内存资源管理上采用了(先进优秀?算吗)但特立独行的设计思路:所有权。这是rust的核心,贯穿在整个rust语言的方方面面,并以此为基点来重新思考和重构软件开发体系。 涉及到的概念点:借用&am…

计网网络层

文章目录: 文章目录 概述服务面向连接的虚电路服务无连接的数据报服务 IPv4分类编址A类地址B类地址C类地址 划分子网默认子网掩码 无分类编址路由聚合 应用规划 IP数据报的发送和转发过程静态路由配置路由选择协议静态路由选择动态路由选择路由信息协议RIP工作过程更…