MySQL中的存储引擎

news2024/11/25 20:23:11

介绍

存储引擎就是存储数据,建立索引,更新/查询数据等技术的实现方式。存储引擎是基于表的,而不是基于库的,所以存储引擎也可以称为表类型(即一个数据库下的表可以选择不同的存储引擎)。

1. 如何查看一个表的存储引擎?

SHOW CREATE TABLE + '表名' ,可以查看建表语句,这里面会携带存储引擎信息。

MySQL从5.5版本后的默认存储引擎是InnoDB(在不特殊指定引擎类型时)。

2. 如何查看当前数据库所支持的存储引擎?

SHOW ENGINES


每一个存储引擎的支持内容均可以在上述查看到。

存储引擎的特点

InnoDB

介绍 : InnoDB是一款兼顾高可靠性和高性能的通用存储引擎,在MySQL 5.5之后,InnoDB是默认的MySQL存储引擎。

 

特点:
DML操作遵循ACID模型,支持事务;

行级锁,提高并发访问性能;

支持外键 FOREIGN KEY约束,保证数据的完整性和正确性;

逻辑存储结构:

其中在InnoDB引擎中页是磁盘操作的最小单元,一个区的大小是固定的(1M),一个页的大小也是固定的(16K)。即一个区中可以包含64个页

MyISAM

介绍:MyISAM是MySQL早期的默认存储引擎。

特点:

不支持事务,不支持外键;

支持表锁,不支持行锁;

访问速度快;

Memory

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

特点:

内存存放;

hash索引(默认)

特点总结:

存储引擎如何选择

在选择存储引擎时,应该根据应用系统的特点选择合适的存储引擎。对于复杂的应用系统,还可以根据实际情况选择多种存储引擎进行组合。

InnoDB:是Mysql的默认存储引擎,支持事务、外键。如果应用对事务的完整性有比较高的要求,在并发条件下要求数据的一致性,数据操作除操作和查询外,还包含很多更新,删除的操作,那么InnoDB存储引擎是比较合适的。

MyISAM:如果应用是以读操作和插入操作为主,只有很少的更新和删陈操作,开且对事务的完整性、并发性要求不是很高,加么选择这个存储引擎是非常合适的。(比如日志相关的数据,电商中的足迹,评论相关的数据)。

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


 

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

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

相关文章

一看就会的Jmeter分布式压测实战技巧详解

一、什么是jmeter分布式压测? jmeter分布式压测:指将需要模拟的大量并发用户数分发到多台压力机,使jmeter拥有更大的负载量,满足真实业务场景(高并发场景)。可以理解为通过一个Jmeter控制台来远程控制多个…

C++项目实践学习笔记---DLL

linux守护进程 守护进程或精灵进程(Daemon):以后台服务方式运行的进程,它们不占用终端(Shell),因此不会受终端输入或其他信号(如中断信号)的干扰守护进程有如下特点。 &…

【计算机毕业设计】084基于微信小程序大学生心理健康服务

🙊作者简介:拥有多年开发工作经验,分享技术代码帮助学生学习,独立完成自己的项目或者毕业设计。 代码可以私聊博主获取。🌹赠送计算机毕业设计600个选题excel文件,帮助大学选题。赠送开题报告模板&#xff…

ONNX模型利用CUDA加速如何正确配置好环境?

目前onnx可选的执行引擎非常多,覆盖了从cpu、gpu到npu,从Intel平台到AMD平台等。如下是onnxruntime所有的执行引擎。 [TensorrtExecutionProvider, CUDAExecutionProvider, MIGraphXExecutionProvider, ROCMExecutionProvider, OpenVINOExecutionProvide…

电脑屏幕监控软件方案合集|六款屏幕监控软件让老板高枕无忧

今天,我们就来聊一聊市面上备受瞩目的几款电脑屏幕监控软件,并重点介绍其中的佼佼者——安企神软件及其强大监控功能。因为它们的存在,我们的老板才能坐筹帷幄,决胜千里。 电脑屏幕监控软件大盘点 1.安企神软件:作为国…

Linux登录界面

Linux登录界面 1. 起因2. 脚本3. 效果 1. 起因 某次刷抖音看到一个博主展示了一个登录页面,觉得蛮好看的.于是自己动手也写一个 2. 脚本 编写脚本/usr/local/bin/login.sh #!/bin/bash Current_timedate %Y-%m-%d %H:%M:%S Versioncat /etc/redhat-release Kernel_Version…

Amazon OpenSearch Service 现在支持 JSON Web Token(JWT)身份验证和授权

最近,Amazon OpenSearch 推出了一个新功能,支持 JWT 认证和授权。虽然这个功能在开源的 OpenSearch 中早已存在,但在托管的 Amazon OpenSearch 中的实现一直不够理想。 此前的授权方式 控制台登录 内部数据库:使用基本的用户名…

同三维T908转换器 SDI转DVI/HDMI/VGA/色差分量/AV转换器

同三维T908转换器 SDI转DVI/HDMI/VGA/色差分量/AV转换器 1路SDI进,1路DVI(可转HDMI/VGA/色差分量/AV)3.5音频1路SDI出,可以支持音频解嵌,也可把3.5音频加嵌转换输出,输出分辨率可调,支持图像翻转180度 一、产品简介 SDI转万能转…

低代码+定制:优化项目管理的新方案

引言 在当今快速变化的商业环境中,企业需要更加灵活、高效的项目管理工具。低代码平台作为一种新的开发方式,因其能够快速构建应用程序而受到广泛关注。与此同时,软件定制开发仍然是满足特定复杂需求的重要手段。在项目管理中,低代…

以指标为中心,Aloudata 重塑企业数据生产力

6 月 25 日 - 6 月 26 日,第十届 CDIE 数字化创新博览会在上海张江科学会堂隆重举行。作为国内领先的自动化数据管理软件提供商,Aloudata 大应科技携自主研发的 Aloudata CAN 自动化指标平台亮相,全面展现了其独创的“NoETL”架构理念&#x…

谁用谁夸,为什么BI零售数据分析方案这么受欢迎?

在当今数字化时代,零售行业竞争激烈,如何快速准确地获取数据洞察,成为企业制胜的关键。奥威BI零售数据分析方案,凭借其全面、高效、智能的特点,赢得了广大零售企业的青睐,成为市场上的热门选择。 奥威BI零…

如何修复Power BI【View usage metrics report】指标报表数据源更新问题?

故事背景 有朋友留言询问:通过我之前写的 想知道Power BI用户访问报告的次数?快来学习! 这篇文章,了解了如何查看Power BI用户访问报告的详情。 但是最近由于创建【View usage metrics report】指标报表的小伙伴离职了&#x…

安装CLion配置opencv和torch环境

配置操作如图,源码见底部附录部分 安装CLion 官网下载 创建项目 设置环境 调整类型为release 配置opencv和项目 编译环境 编译后 重启CLion 测试opencv环境 测试代码 运行main.cpp显示图片 测试torch环境 没标红表示配置成功 附件 CMakeList.txt cmake_mi…

uniapp获取证书秘钥、Android App备案获取公钥、签名MD5值

一、 uniapp获取证书秘钥 打开uniapp开发者中心下载证书打开cmd输入以下这段代码,下载提供查看到的密钥证书密码就可以了!下载证书在 java 环境下运行才可以 // your_alias 换成 证书详情中的别名,your_keystore.keystore 改成自己的证书文件…

【scrapy】3.XPath解析

目录 一、XPath介绍 1.基本介绍 2.HTML树状结构图 3.节点之间的关系 (1)Xpath中的绝对路径与相对路径 二、XPath的语法介绍 1.元素属性定位 1.1 根据属性名定位元素: 1.2 根据属性名和属性值定位元素: 1.3 根据部分属性…

Python安装库太慢?配置好这个速度立马提上来

Python 的 pip 包管理器在安装库时可能会因为各种原因而显得很慢。以下是一些可能的原因以及相应的解决方案: 网络问题: 你的网络连接可能不稳定或速度较慢。Python 的官方 PyPI (Python Package Index) 服务器可能距离你较远,导致传输延迟。…

【Qt】QMessageBox 各种对话框的默认显示效果

1. 函数原型 void about(QWidget *parent, const QString &title, const QString &text)void aboutQt(QWidget *parent, const QString &title QString())QMessageBox::StandardButton critical(QWidget *parent, const QString &title, const QString &…

数字信号处理实验一(离散信号及离散系统的MATLAB编程实现)

实验要求: 离散信号及离散系统的MATLAB编程实现(2学时) 要求: 编写一程序,输出一定长度(点数),具有一定幅度、(角)频率和初始相位的实(或复&…

【C++】动态内存管理new和delete

文章目录 一、C的内存管理方式二、new和delete的用法1.操作内置类型2.操作自定义内置类型 三、new和delete的底层实现1.operator new和operator delete函数2.new和delete的实现原理 四、定位new表达式五、malloc/free和new/delete的区别 一、C的内存管理方式 之前在C语言的动态…

超详细之IDEA上传项目到Gitee完整步骤

1. 注册gitee 账号密码,gitee官网地址:Gitee官网,注册完成后,登录。 2. 创建仓库,在主页左下角有新建按钮,点击新建后会进入到此页面填写仓库信息。 3. 创建完成后复制仓库地址 4. 打开IntelliJ IDEA新建或…