存储引擎MyISAM和InnoDB

目录

一、存储引擎概述

1.存储引擎概念

2.存储引擎分类

3.选择存储引擎的原则

二、InnoDB 存储引擎

三、MyISAM 存储引擎

四、实验操作


一、存储引擎概述

1.存储引擎概念

数据库存储引擎是数据库底层软件组件,数据库管理系统使用数据库引擎进行创建,查询,更新和删除数据。不同存储引擎提供不同存储机制,搜索技巧,锁定水平。MySQL核心是存储引擎。

MySQL中,可以利用show  engines 显示数据库引擎。可以在每一个表使用不同的存储引擎。

MySQL 5.7 支持的存储引擎有 InnoDB、MyISAM、Memory、Merge、Archive、Federated、CSV、BLACKHOLE。

2.存储引擎分类

innodb: 64T 、支持事务、B树索引、数据缓存、支持外键

myisam:256T、支持全文索引、B树索引、

memory:内存、B树索引、hash索引

功能

MylSAM

MEMORY

InnoDB

Archive

存储限制

256TB

RAM

64TB

None

支持事务

No

No

Yes

No

支持全文索引

Yes

No

No

No

支持树索引

Yes

Yes

Yes

No

支持哈希索引

No

Yes

No

No

支持数据缓存

No

N/A

Yes

No

支持外键

No

No

Yes

No

 备注:
Innodb:事务型数据库的首选引擎,支持事务安全表(ACID),支持锁定和外键,InnoDB是默认存储引擎。

MyISAM:基于ISAM存储引擎,进行扩展,在Web、数据仓储最常用的存储引擎。MyISAM拥有较高插入,查询速度,但是不支持事务。

MeMORY:将存储数据存储到内存中,进行快速查询和引用。

3.选择存储引擎的原则

提供提交、回滚和恢复的事务安全表能力,选择InnoDB。

用来插入和查询记录,MyISAM提供较高的处理效率。

存储临时数且数据量不大,不需要较高的安全性,选择MeMORY。

二、InnoDB 存储引擎

用 InnoDB 存储引擎是最理想的选择:

(1)更新密集的表:InnoDB 存储引擎特别适合处理多重并发的更新请求。

(2)事务:InnoDB 存储引擎是支持事务的标准 MySQL 存储引擎。

(3)自动灾难恢复:与其它存储引擎不同,InnoDB 表能够自动从灾难中恢复。

(4)外键约束:MySQL 支持外键的存储引擎只有 InnoDB。

(5)支持自动增加列 AUTO_INCREMENT 属性。
 

Innodb的数据文件:

ibd:数据表的数据文件

frm:数据表的元数据

opt:存储的是mysql的一些配置信息,如编码、排序的信息等

三、MyISAM 存储引擎

每个 MyISAM 表在磁盘上存储成 3 个文件,其中文件名和表名都相同,但是扩展名分别为:

(1)frm(存储表定义)

(2)MYD(MYData,存储数据)

(3)MYI(MYIndex,存储索引)
 

MyISAM 表还支持 3 种不同的存储格式:

(1)静态(固定长度)表

(2)动态表

(3)压缩表

四、实验操作

修改默认的存储引擎

(1)创建表,并查看默认用的存储引擎

mysql> create database auth;

mysql> use auth  

mysql> CREATE TABLE t1 (user_name CHAR(16), user_passwd CHAR(48));

mysql> show table status from auth where name='t1'\G

(2)通过 alter table 修改

mysql> alter table t1 engine=MyISAM;

mysql> show table status from auth where name='t1'\G

(3)通过配置文件修改

[root@localhost ~]# vim /etc/my.cnf

[mysqld]

#添加下面语句

default-storage-engine=MyISAM

[root@localhost ~]# systemctl restart mysqld

[root@localhost ~]# mysql -uroot -ppwd123

mysql> use auth

mysql> CREATE TABLE t2 (user_name CHAR(16), user_passwd CHAR(48));

mysql> show table status from auth where name='t2'\G

注意:

通过配置文件修改的方法,对以前的老表不会有影响,只会影响以后新创建的表,并且在创建表时没有指定存储引擎的情况。

(4)通过 create table 创建表时指定存储引擎

mysql> use auth

mysql> create table t3 (id int(10),name char(20)) engine=INNODB;

mysql> show table status from auth where name='t3'\G

(5)临时修改默认的存储引擎

SET default_storage_engine=< 存储引擎名 >

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

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

相关文章

Spring Boot中如何处理异步任务

Spring Boot中如何处理异步任务 大家好&#xff0c;我是免费搭建查券返利机器人省钱赚佣金就用微赚淘客系统3.0的小编&#xff0c;也是冬天不穿秋裤&#xff0c;天冷也要风度的程序猿&#xff01;今天我们将探讨在Spring Boot应用中如何处理异步任务&#xff0c;以提升系统的性…

Nuxt 的异步数据处理(八)

Nuxt.js 扩展了 Vue.js&#xff0c;增加了一个叫 asyncData 的方法&#xff0c;使得我们可以在设置组件的数据之前能异步获取或处理数据。 asyncData 方法 Nuxt.js 提供了几种不同的方法来使用 asyncData 方法&#xff0c;你可以选择自己熟悉的一种来用&#xff1a; 返回一个…

CMS垃圾回收过程中重新标记阶段为什么不能清理浮动垃圾

因为在并发标记时&#xff0c;因为是 GC 和用户线程是并发执行的&#xff0c;可能导致一部分已经标记为 从 GC Roots 不可达 的对象&#xff0c;若该对象在用户线程的修改下又可达了&#xff0c;Remark 的作用就是将这部分对象又标记为 可达对象&#xff08;漏标&#xff09;。…

Double 4 VR虚拟情景智能互动系统在小语种专业课堂上的应用

随着科技的进步&#xff0c;越来越多的教育机构开始尝试使用虚拟现实技术来提高教学效果。Double 4 VR虚拟情景智能互动系统就是这样一款能够为小语种专业课堂带来革新性体验的教学工具。 一、模拟真实环境&#xff0c;增强学习体验 系统通过高度仿真的虚拟环境&#xff0c;为学…

Git(涵盖GitHub\Gitee码云\GitLab)

Git(涵盖GitHub\Gitee码云\GitLab) 文章目录 Git(涵盖GitHub\Gitee码云\GitLab)课程介绍Git概述官网介绍版本控制介绍两种版本控制工具集中式版本控制工具分布式版本控制工具 Git工作机制代码托管中心 Git安装和客户端的使用Git常用命令设置用户签名初始化本地库查看本地库状态…

C++——string类用法指南

一、前言 在C语言中&#xff0c;字符串是以\0结尾的一些字符的集合&#xff0c;为了操作方便&#xff0c;C标准库中提供了一些str系列的库函数&#xff0c;但是这些库函数与字符串是分离的&#xff0c;不太符合OOP的思想&#xff0c;而且底层空间需要用户自己管理&#xff0c;稍…

性能飞跃:深度优化IntelliJ IDEA的实战指南

性能飞跃&#xff1a;深度优化IntelliJ IDEA的实战指南 IntelliJ IDEA&#xff0c;作为Java开发者的首选IDE&#xff0c;以其强大的功能和智能化的代码辅助而闻名。然而&#xff0c;随着项目规模的增长&#xff0c;IDE的性能可能会成为瓶颈。本文将提供一份详尽的优化指南&…

C++编译时引入json/nlohmann文件报错

报错信息: In file included from /home/chenlang/catkin_ws/src/leanrning_communication/src/mysql/../utils/data.h:14:0,from /home/chenlang/catkin_ws/src/leanrning_communication/src/mysql/MyRobotDb.h:32,from /home/chenlang/catkin_ws/src/leanrning_communicatio…

学校选用SOLIDWORKS教育版进行授课的理由

在当代的工程与技术教育领域&#xff0c;计算机辅助设计软件&#xff08;CAD&#xff09;已经变成了一个不可缺少的教学辅助工具。SOLIDWORKS作为一个功能齐全且用户友好的CAD软件&#xff0c;其教育版本在学校教学环境中受到了广泛的欢迎。本文将对学校教学中选用SOLIDWORKS版…

eclipse基础工程配置( tomcat配置JRE环境)

文章目录 I eclipse1.1 工程配置1.2 编译工程1.3 添加 JRE for the project build pathII tomcat配置JRE环境2.1 Eclipse编辑tomcat运行环境(Mac版本)2.2 Eclipse编辑tomcat运行环境(windows版本)2.3 通过tomcat7W.exe配置运行环境(windows系统)I eclipse 1.1 工程配置 …

【motan rpc 懒加载】异常

文章目录 升级版本解决问题我使用的有问题的版本配置懒加载错误的版本配置了懒加载 但是不生效 lazyInit"true" 启动不是懒加载 会报错一次官方回复 升级版本解决问题 <version.motan>1.2.1</version.motan><dependency><groupId>com.weibo…

iOS 账号上传IPA包时警告:Potential Loss of Keychain Access

APP迭代时&#xff0c;使用transporter交付应用IPA包报警告Potential Loss of Keychain Access 原因是之前从旧账号中转让APP到当前的新账号中&#xff0c;标识符发生了改变。 报错信息&#xff1a; WARNING ITMS-90076: “Potential Loss of Keychain Access. The previou…

5G VONR

转载&#xff1a;VoNR呼叫流程介绍 (baidu.com) 使用5G RAN、5G Core和IMS的语音服务被称为新无线电VoNR上的语音&#xff0c;5G提供语音/视频通话等服务。 NR网络架构上的语音 NR语音网络体系结构由5G RAN、5G Core和IMS网络组成。下面显示了一个体系结构。&#xff08;仅包…

python3.12 Class str详解

字符串作为计算里面一个重要的对象&#xff0c;在Python的实现是通过定义类来描述它的。这是一篇字典式的文章&#xff0c;我们详细描述字符串实例的各个办法。 一&#xff1a; 实例化的办法&#xff1a;‘’。比如&#xff1a; spython二&#xff1a;字符串类的办法。&#x…

3.x86游戏实战-寄存器

免责声明&#xff1a;内容仅供学习参考&#xff0c;请合法利用知识&#xff0c;禁止进行违法犯罪活动&#xff01; 本次游戏没法给 内容参考于&#xff1a;微尘网络安全 上一个内容&#xff1a;2.x86游戏实战-跨进程读取血量 寄存器说明&#xff1a; 寄存器是处理器的一部&…

Windows部署MinIO,搭建本地对象存储服务

一、前言 二、MinIO介绍 三、Windows部署MinIO服务 1、准备工作 2、下载MinIO服务 3、启动MinIO服务 4、设置用户名密码 5、创建.bat文件启动服务 四、MinIO基本操作 1、存储桶管理 2、对象管理 3、数据查看 一、前言 基于外网的项目&#xff0c;可以使用阿里云等…

ActiViz 9.3实战:ActiViz集成到WPF中的空域问题

文章目录 一、场景1、WPF控件2、集成ActiViz或者VTK二、问题1、需求2、空域问题三、解决方案1、用WindowsFormsHost包裹住ElementHost,然后将WPF的控件放在ElementHost职中:2、用Window或者Popup去悬浮3、使用第三方库Microsoft.DwayneNeed(这也是网上出现较多的答案)四、最…

石墨舟氮气柜的特点和使用要求介绍

石墨舟是一种在半导体、太阳能光伏等高科技产业中广泛使用的专用工具&#xff0c;主要由高纯度石墨材料制成。它的形状通常像一只船&#xff0c;因此得名“石墨舟”。石墨舟主要用于承载硅片或其他基板材料通过各种高温处理过程&#xff0c;是制造半导体器件和太阳能电池片的关…

MIX OTP——监督动态子进程

现在&#xff0c;我们已经成功定义了我们的监督器&#xff0c;它将作为应用程序生命周期的一部分自动启动&#xff08;和停止&#xff09;。 但请记住&#xff0c;我们的 KV.Registry 在 handle_cast/2 回调中同时链接&#xff08;通过 start_link&#xff09;和监控&#xff…

Spring4.3.x xml配置文件搜索和解析过程

###概述 这篇文章的研究不只是涉及到spring如何创建一个BeanDefinition对象&#xff0c;还涉及到spring如何加载文件、如何读取XML文件、以及我们在使用spring的时候如何扩展spring的配置。 spring在创建BeanFactory时会把xml配置文件和注解信息转换为一个个BeanDefinition对…