MySQL原理(二)存储引擎(1)概述

一、存储引擎介绍

1、概念:

(1)MySQL中的数据用各种不下同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎。

(2)存储引擎是MySQL将数据存储在文件系统中的存储方式或者存储格式。

(3)存储引擎是MySQL数据库中的组件,负责执行实际的数据I/O操作。

(4)MySQL系统中,存储引擎处于文件系统之上,在数据保存到数据文件之前会传输到存储引擎,之后按照各个存储引擎的存储格式进行存储。

2、mysql存储引擎

(1) MYISAM:

全表锁,拥有较高的执行速度,不支持事务,不支持外键,并发性能差,占用空间相对较小,对事务完整性没有要求,以select、insert为主的应用基本上可以使用这引擎;

(2)Innodb:

行级锁,提供了具有提交、回滚和崩溃回复能力的事务安全,支持自动增长列,支持外键约束,并发能力强,占用空间是MYISAM的2.5倍,处理效率相对会差一些.

(3)Memory

全表锁,存储在内容中,速度快,但会占用和数据量成正比的内存空间且数据在mysql重启时会丢失,默认使用HASH索引,检索效率非常高,但不适用于精确查找,主要用于那些内容变化不频繁的代码表

(4)MERGE

是一组MYISAM表的组合

其中,最常用的是MylSAM和InnoDB。

二、查看和修改存储引擎

注意:一个表只能使用一个存储引擎,一个库中不同的表可以使用不同的存储引擎。

1、查看存储引擎
1.1、查看系统支持的存储引擎

1.2、查看数据表使用的存储引擎
SHOW TABLE STATUS [FROM db_name] [LIKE 'pattern']

db_name是数据库名,pattern是模式匹配模式,可以省略。执行上述语句后,会返回所有表的状态信息,包括表名、存储引擎、行数、平均行长度、数据大小等,其中存储引擎信息在“Engine”列中显示。

2、修改存储引擎

有几下几种方法:

(1)create table 创建表时指定存储引擎
create table 表名(字段1 数据类型,...)  engine=存储引擎名称;

CREATE TABLE `t_user` (`id` int(11) NOT NULL AUTO_INCREMENT,`user_nick_name` varchar(255) DEFAULT NULL,`user_password` varchar(255) DEFAULT NULL,`is_delete` tinyint(4) DEFAULT NULL,`user_name` varchar(255) DEFAULT NULL,PRIMARY KEY (`id`)
) ENGINE=InnoDB  DEFAULT CHARSET=utf8;
(2)alter table 修改当前数据表使用的存储引擎
alter table 表名 engine=存储引擎名称;

注意:因为MyISAM不支持外键约束,如果数据表设置了外键,则无法修改为MyISAM。

(3)修改配置文件

指定默认存储引擎,创建数据表时如果没有指定存储引擎,则会使用默认存储引擎。

[mysqld]  default-storage-engine=InnoDB  
#修改这一行,指定默认存储引擎为InnoDB  

注意:此方法只对修改配置文件并重启mysql服务之后新创建的表有效,已经存在的表不会有变更。

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

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

相关文章

中国社科院与英国斯特灵大学——认证与不认证都颁发什么证书

随着在职研究生改革的不断深入,越来越多的在职人士报考在职研究生,在职博士,提升自己的学历和能力。中外合作办学博士是在职博士报考方式之一,是由国内的院校和国外院校合作开办的在职博士教育形式,分可认证和不可认证…

【全csdn最前沿LVGL9】按钮的使用(lv_button)、标签的使用(lv_label)

文章目录 前言一、按钮概述二、按钮的使用2.1 创建一个按钮2.2 按钮的样式 三、标签概述四、标签的使用4.1 创建一个标签4.2 样式4.3 设置文本4.4 长文本模式4.5 文本选择4.6 文本对齐4.7 非常长的文本4.8 字体设置字体支持的Unicode字符字体列表特殊的字体 总结 前言 欢迎来到…

Unity使用反向遮罩实现镂空shader

实现步骤: 1,创建两个材质球,遮罩层的属性如下: 被遮罩层的属性如下: 2,使用两张image,遮罩层在父节点,被遮罩层在子节点,然后分别添加材质球与镂空图片 实现效果如下&a…

k8s存储之PV、PVC

在k8s集群中,资源存储会散落到各个工作节点上,这样对用资源调用很不方便,那么k8s是如何实现存储资源共享的呢,本文浅尝辄止的探讨一下,k8s是通过pv、pvc实现的。 一、PV、PVC的概念 1、持久卷(PV) pv是Pe…

2024-01-07-AI 大模型全栈工程师 - AI 产品部署和交付

摘要 2024-01-07 周日 杭州 阴 本节内容: 如何选择 GPU 和云服务器,追求最高性价比如何部署自己的 fine-tune 的模型,向业务提供高可用服务如何控制内容安全,做好算法备案,确保合规 课程内容 1. 硬件选型 a. Nvidia 几乎是模…

W801学习笔记十:HLK-W801制作学习机/NES游戏机(总结)

本章总结一下整个开发过程中遇到的问题: 1、引脚的抗干扰问题: 屏幕显示的时候,概率出现花屏。无论怎么修改代码都不能解决,一个偶然的机会,发现当手触摸屏幕的WR和CS引脚时,屏幕会正常。查阅资料&#x…

C# 递归执行顺序

为了方便进一步理解递归,写了一个数字输出 class Program {static void Main(string[] args){int number 5;RecursiveDecrease(number);}static void RecursiveDecrease(int n){if (n > 0){Console.WriteLine("Before recursive call do : " n);Rec…

IAR编译和调试CMS32L051

0 Preface/Foreword 0.1 参考文档 中微半导体BAT系列单片机学习笔记_V1.1.pdf 1 配置方法 1.1 编译工具链添加 CMS对于IAR工具,有一个插件文件,用于安装对应的CMS系列芯片。 工具名称:iar_plug20210926.7z 按照完成之后,可…

[Python小工具]Python批量生成数据到MySQL

[Python小工具]Python批量生成数据到MySQL base.py #!/usr/bin/python # -*- coding:utf-8 -*- import time import random from datetime import datetime, timedelta from faker import Faker import stringfake Faker(zh_CN)class Base_conn:# 数据库连接配置初始化def _…

如果我要访问一个网址,那么在网络中会有哪些过程

访问一个网址是我们日常网络使用中非常常见的操作,背后涉及到一系列精密而复杂的步骤。这个过程包括DNS解析、建立TCP连接、发起HTTP请求、服务器处理请求、服务器响应、浏览器渲染等环节。在这篇文章中,我们将深入探讨这些步骤,并解释它们在…

redis配置信息整理

redis部署分为几种方式:单机、哨兵(主从)、集群。对应这几种部署方式redis的配置信息也有不同,总结如下: 单机模式: spring:redis:database: 0timeout: 8000password: 123456host: 192.168.56.101port: 6…

强大的虚拟机Parallels Desktop 19 mac中文激活

Parallels Desktop是一款功能全面、易于使用的虚拟机软件,它为用户提供了在Mac电脑上同时运行多个操作系统的便利。 软件下载:Parallels Desktop 19 mac中文激活版下载 Parallels Desktop 19 mac具有快速启动和关闭虚拟机的能力,让用户能够迅…

基于SpringBoot+Vue学科竞赛管理系统

文章目录 基于SpringBootVue学科竞赛管理系统1系统概述1.3系统设计思想 2相关技术2.1 MYSQL数据库2.2 B/S结构2.3 Spring Boot框架简介2.4 Vue简介 3系统分析3.1可行性分析3.1.1技术可行性3.1.2经济可行性3.1.3操作可行性 3.2系统性能分析3.2.1 系统安全性3.2.2 数据完整性 3.4…

Wampserver 切换中文时无法启动报错处理

在使用 Wampserver 软件时默认为英语,可以看到有语言选择功能,切换其他语言。但选择中文切换后,软件重启时报如下错误: The configuration file contains a systax error on line 44:[EParseError] Mismatched or misplaced quoue…

(十六)串口UART

文章目录 UART简介传输数据帧和波特率定时器1作为串口1波特率发生器串口部分相关寄存器TMODAUXRPCONSCONSBUF 串口1工作模式1:8位UART,波特率可变总体工作原理如何简单接收一个字符和发送数据一步之遥的设置现象演示 UART简介 通用异步收发传输器(Unive…

1汇编学习 用chatGPT来分析汇编的含义:让一切变的容易 每句注释 OllyDbg 用chatGPT来学习:让一切变的容易,迅速成为绝顶高手

用chatGPT来学习:让一切变的容易,迅速成为绝顶高手 004010C1 > 8A83 1A214000 mov al, byte ptr [ebx40211A] 004010C7 . 3C 00 cmp al, 0 004010C9 . 74 08 je short 004010D3 004010CB . 3C 47 cmp al, 47 004010CD . 75 01 jnz short 004010D0 00…

计算机网络(第六版)复习提纲19

SS4.4 网际控制报文协议ICMP ICMP报文作为IP数据报的数据部分,加上IP报文的首部进行发送 一 ICMP报文的种类 1 ICMP差错报告报文 有四种ICMP差错报告报文 ①终点不可达,路由器或者主机不能交付数据报时向原点发送 ②时间超过,当路由器收到生…

一种轻量分表方案-MyBatis拦截器分表实践|京东零售技术实践

背景 部门内有一些亿级别核心业务表增速非常快,增量日均100W,但线上业务只依赖近一周的数据。随着数据量的迅速增长,慢SQL频发,数据库性能下降,系统稳定性受到严重影响。本篇文章,将分享如何使用MyBatis拦…

微软Azure-OpenAI 测试调用及说明

本文是公司在调研如何集成Azure-openAI时,调试测试用例得出的原文,原文主要基于官方说明文档简要整理实现 本文已假定阅读者申请部署了模型,已获取到所需的密钥和终结点 变量名称值ENDPOINT从 Azure 门户检查资源时,可在“密钥和…

Advanced CNN

文章目录 回顾Google NetInception1*1卷积Inception模块的实现网络构建完整代码 ResNet残差模块 Resedual Block残差网络的简单应用残差实现的代码 练习 回顾 这是一个简单的线性的卷积神经网络 然而有很多更为复杂的卷积神经网络。 Google Net Google Net 也叫Inception V…