MySQL存储引擎介绍

查看MySQL数据库中创建表的信息

如上图所示,当我们使用命令show create table server_info\G;可以显示我们所创建的表的信息,只显示两个字段,第一个字段是Table 即是创建的表的名称,第二个字段是Create Table即是创建的表的字段的信息,以及所创建的表所使用的存储引擎是什么存储引擎,默认情况下engine是InnoDB。

其中的ENGINE=InnoDB  其中的InnoDB是MySQL数据库所支持的一个存储引擎名称,

介绍MySQL中的存储引擎storage engine

storage是存储的意思。

engine是引擎的意思。

车里面的引擎是可以更换的,不同的引擎代表不同的性能,那么在MySQL数据库中存储引擎也是可以更换的,在MySQL软件上使用不同的引擎代表的是支持不同的功能,

如上图所示,可以使用命令show engines;

来查看机器上的MySQL软件上支持那些存储引擎。

如上图所示,可以看到当前MySQL软件default默认支持InnoDB这样的搜索引擎,

表中的Comment这一列中的信息,表明了不同搜索引擎,所支持的不同功能特性。

存储引擎功能介绍

1.InnoDB这样的存储引擎, Supports transactions, row-level locking, and foreign keys 

第一个所支持的功能特性是transactions——事务

第二个所支持的功能特性是row-level locking——外接

第三个所支持的功能特性是foreign keys ——行级锁

行级锁涉及到锁粒度问题:分别是表级锁和行级锁,也就是说当我们使用表级锁的时候整个表的数据是不能够被修改的,当我们使用行级锁的时候整一行的数据是不能被做修改的。

 2.MEMORY(内存)这样的存储引擎, Hash based, stored in memory, useful for temporary tables 

如果将来把MySQL数据库的存储引擎改成MEMORY,则将来在往数据库中存储数据的时候,只会将数据存往内存里面,不会将数据存往硬盘里面,特点是速度快,应用场景是临时数据,

 3.BLACKHOLE   (黑洞)       | YES     | /dev/null storage engine (anything you write to it disappears)

使用这个存储引擎的时候,存入的数据都会消失。

这样的存储引擎在MySQL主从复制的场景会有特殊的应用,

 4.MyISAM    这个存储引擎在查询数据的速度快, | MyISAM storage engine      

 5.MRG_MYISAM         | YES     | Collection of identical MyISAM tables              

这个存储引擎支持将多个MyISAM表进行合并。

6.CSV这个存储引擎一般适用于数据分析行业。

7.ARCHIVE一般适用于做数据挖掘的工作。

如何修改MySQL数据库的存储引擎?

如上图所示,可以在MySQL的配置文件中加上  default_storage_engine ,这行配置的作用就是用来修改MySQL数据库的搜索引擎的,

在Linux操作系统上使用vim /etc/my.cnf

去在文件中加上default_storage_engine  这样一个配置就能成功修改MySQL数据库的默认存储引擎,

如上图所示,想要什么样的存储引擎就使用default_storage_engine =想要使用的存储引擎。

如上图所示,在重新设置MySQL数据库的存储引擎之后,需要在Linux操作系统中使用命令systemctl restart mysql即重新启动mysql系统,

具体查看MySQL软件上的存储引擎的办法有两种

第一种方法

如上图所示,可以使用show engines;

来显示当前MySQL软件上所支持的默认存储引擎是哪个。

第二种方法,

如上图所示,可以使用命令select @@default_storage_engine;

来查看/etc/my.cnf文件中关于MySQL软件default_storage_engine的默认支持存储引擎的一个信息。

如上图所示,如果修改数据库的存储引擎后,那么先前创建的表的存储引擎都是修改之前的,之后创建的表的存储引擎都是修改之后的存储引擎。

如上图所示,server_info.frm文件是server_info表的表结构文件,这个文件中所储存的是这个表的字段名,字段数据类型,这样的信息。

server_info.ibd文件所储存的是server_info表中所储存的真实数据。以及我在这个表中所创建的索引信息。

如上图所示,如果MySQL数据库的存储引擎是MyISAM,那么表现在Linux操作系统中就是frm文件——表结构文件,MYD文件——文件所储存的是表中的真实数据,MYI文件所储存的是表的索引信息。

索引——目录

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

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

相关文章

Python中logging模块的使用

在Python中,logging模块提供了一个灵活的日志记录系统,用于将程序的输出信息分门别类地发送到不同的目的地。Logger对象是这个系统的核心,它负责创建日志消息。默认情况下,如果没有特别配置,Logger会将日志输出到标准错…

Redis过期删除策略和内存淘汰策略有什么区别?

Redis过期删除策略和内存淘汰策略有什么区别? 前言过期删除策略如何设置过期时间?如何判定 key 已过期了?过期删除策略有哪些?Redis 过期删除策略是什么? 内存淘汰策略如何设置 Redis 最大运行内存?Redis 内…

buildroot添加ssh功能

在制作了自己的buildroot生成的根文件系统之后,是没有ssh服务的,需要自行添加。 在buildroot的menuconfig里: Target packages -> Networking applications -> openssh 重新编译,还不能通过电脑连接,还需配置并…

xorg.conf 设置 集显 独显 英伟达 Ubuntu 风扇调速

使用集显做显示,使用独显做机器学习,那么xorg.conf如何配置? 如果配不好,那么会卡在欢迎登录界面,据说也会限制风扇调速的功能。 既然GPT时代了,那么我们就用AI加速一下,直接lspci | grep -i v…

ANSYS许可监控​

在工程设计与仿真领域,ANSYS软件作为行业翘楚,为企业提供了强大的支持。然而,随着业务规模的扩大和软件版本的升级,如何有效地监控ANSYS许可证的使用情况,确保合规性和资源的高效利用,成为企业面临的重要问…

react 图片没有加载出来的问题

react 图片没有加载出来的问题 我原来是这样写的 <Layout><Sider><imgsrc"../images/login/topdivbg20221202.png"/></Sider><Content><Menu onClick{onClick} selectedKeys{[current]} mode"horizontal" it…

RustGUI学习(iced/iced_aw)之扩展小部件(十六):如何使用菜单menu部件来创建菜单栏?

前言 本专栏是学习Rust的GUI库iced的合集,将介绍iced涉及的各个小部件分别介绍,最后会汇总为一个总的程序。 iced是RustGUI中比较强大的一个,目前处于发展中(即版本可能会改变),本专栏基于版本0.12.1. 概述 这是本专栏的第十六篇,主要讲述menu菜单部件的使用,会结合实…

如何进行事务处理

1、问题背景 在数据库存储系统中&#xff0c;事务处理是一种保证多个数据库操作作为单个逻辑单元执行的技术。事务处理可以确保数据的一致性、完整性和隔离性。 在使用 Google Cloud Datastore 时&#xff0c;可以使用 datastore.transaction() 函数来进行事务处理。datastor…

水离子雾化壁炉与会所房间的氛围搭配

水离子雾化壁炉在会所房间的氛围搭配可以为房间增添舒适、温馨和现代感&#xff0c;以下是一些建议&#xff1a; 主题定位&#xff1a; 根据会所房间的主题和定位选择合适的水离子雾化壁炉款式和设计风格。可以是现代简约、欧式古典或是豪华奢华&#xff0c;确保与房间整体风格…

富唯智能复合机器人:CNC铝块上下料安全新标准

在CNC铝块加工过程中&#xff0c;上下料环节的安全问题一直是企业关注的焦点。富唯智能复合机器人的应用&#xff0c;为这一环节树立了新的安全标准。 传统的上下料方式往往依赖于人工操作&#xff0c;存在着较大的安全隐患。而富唯智能复合机器人采用先进的视觉识别技术和精准…

本机搭建RabbitMQ

提示&#xff1a;文章写完后&#xff0c;目录可以自动生成&#xff0c;如何生成可参考右边的帮助文档 目录 一、下载安装包&#xff0c;搭建过程 二、重要概念介绍 三、创建用户 方式一&#xff1a;命令行 方式二&#xff1a;管理后台 3.1 创建用户 3.2 分配权限 3.3 提…

2024/5/15 英语每日一段

Many pet owners are now turning to pet insurance policies to avoid higher vet bills should something bad happen unexpectedly. But Carlson said that preventive veterinary care—like vaccination, parasite control and weight management—is "the best way …

工作高效记事软件是什么 好用的高效记事软件

阳光斜洒在办公桌上&#xff0c;我埋头于一堆杂乱的文件中&#xff0c;头脑里充斥着各种待办事项。电话铃声突然响起&#xff0c;是老板打来的&#xff0c;提醒我下午三点有个重要会议。挂断电话后&#xff0c;我赶紧拿起笔想在便签上记下&#xff0c;却发现桌面已经被各种便签…

详解NodeJS事件循环

官网&#xff1a;node官网-事件循环 浏览器中的事件循环是由HTML规范来定义&#xff0c;之后由各浏览器厂商实现的&#xff0c;而node中的事件循环的定义与实现均由libuv引擎完成。 node使用chrome v8引擎作为js解释器&#xff0c;v8引擎分析代码后&#xff0c;主线程立即执行…

立创EDA绘制PCB电路板

1、绘制好原理图后&#xff0c;点击设计---原理图转PCB&#xff0c;生成PCB文件 2、将元器件拖入电路板方框内&#xff0c;摆放布局并使用工具栏布线、放置过孔及丝印 3、然后顶层和底层铺铜 4、后面就可以生成制板文件发送嘉立创制板了。

Redis 本机无法访问

问题 我在服务器上有两个 Redis 实例&#xff0c;服务端口号分别是 6379 和 6380&#xff0c;Redis 服务器地址假设为 10.0.0.12。其中 6379 这个实例不需要密码即可访问&#xff0c;6380 需要密码访问。 在正常使用几天后&#xff0c;本机突然无法访问 6379 这个实例&#x…

springboot 定时任务解决方案

Scheduled (springboot 自带的 注解) 基于注解Scheduled默认为单线程&#xff0c;开启多个任务时&#xff0c;任务的执行时机会受上一个任务执行时间的影响。 EnableScheduling注解&#xff1a; 在配置类上使用&#xff0c;开启计划任务的支持&#xff08;类上&#xff09;。…

羊大师,羊奶真不错

羊大师&#xff0c;羊奶真不错 在众多乳制品中&#xff0c;羊奶以其独特的营养价值和美味口感赢得了人们的青睐。今天&#xff0c;小编羊大师想与大家分享羊奶的种种优点&#xff0c;让我们一同领略它的魅力。 羊奶的营养价值极高。它含有丰富的蛋白质、脂肪、矿物质和维生素&…

无独立显卡如何安装Pytorch

以前我是直接在colab中使用pytorch&#xff0c;非常方便&#xff0c;今天折腾了一上午&#xff0c;终于搞定了pytorh的安装和环境设置&#xff0c;分享下我的安装流程&#xff0c;遇到的问题和解决方案。 1. 用pip安装Pytorch 打开cmd窗口&#xff08;按win R&#xff09;&a…