当前位置: 首页 > article >正文

MySQL强化关键_016_存储引擎

目  录

一、概述

二、MySQL 支持的存储引擎

三、指定存储引擎

四、修改存储引擎

五、常用存储引擎及适用场景


一、概述

  1. MySQL 存储引擎决定了数据在磁盘上的存储方式和访问方式
  2. 不同的存储引擎实现了不同的存储和检索算法;
  3. MySQL 常见的存储引擎:InnoDB、MyISAM、MEMORY、ARCHIVE等。
    1. InnoDB 支持事务和行级锁定,适用于高并发读写的应用;
    2. MyISAM 不支持事务,但适用于读操作较多的应用;
    3. Memory 数据全部存储在内存中,适用于读写速度要求很高的应用。
  4. 选择合适的存储引擎可以提高 MySQL 的性能和效率。

二、MySQL 支持的存储引擎

mysql> show engines \G;
*************************** 1. row ***************************Engine: MEMORYSupport: YESComment: Hash based, stored in memory, useful for temporary tables
Transactions: NOXA: NOSavepoints: NO
*************************** 2. row ***************************Engine: MRG_MYISAMSupport: YESComment: Collection of identical MyISAM tables
Transactions: NOXA: NOSavepoints: NO
*************************** 3. row ***************************Engine: CSVSupport: YESComment: CSV storage engine
Transactions: NOXA: NOSavepoints: NO
*************************** 4. row ***************************Engine: FEDERATEDSupport: NOComment: Federated MySQL storage engine
Transactions: NULLXA: NULLSavepoints: NULL
*************************** 5. row ***************************Engine: PERFORMANCE_SCHEMASupport: YESComment: Performance Schema
Transactions: NOXA: NOSavepoints: NO
*************************** 6. row ***************************Engine: MyISAMSupport: YESComment: MyISAM storage engine
Transactions: NOXA: NOSavepoints: NO
*************************** 7. row ***************************Engine: InnoDBSupport: DEFAULTComment: Supports transactions, row-level locking, and foreign keys
Transactions: YESXA: YESSavepoints: YES
*************************** 8. row ***************************Engine: ndbinfoSupport: NOComment: MySQL Cluster system information storage engine
Transactions: NULLXA: NULLSavepoints: NULL
*************************** 9. row ***************************Engine: BLACKHOLESupport: YESComment: /dev/null storage engine (anything you write to it disappears)
Transactions: NOXA: NOSavepoints: NO
*************************** 10. row ***************************Engine: ARCHIVESupport: YESComment: Archive storage engine
Transactions: NOXA: NOSavepoints: NO
*************************** 11. row ***************************Engine: ndbclusterSupport: NOComment: Clustered, fault-tolerant tables
Transactions: NULLXA: NULLSavepoints: NULL
11 rows in set (0.00 sec)
  1. 【Support: YES】表示当前版本 MySQL 支持该存储引擎;
  2. MySQL 默认存储引擎:InnoDB。

三、指定存储引擎

  1. 可以在建表时指定存储引擎;
  2. 若不显示指定存储引擎,MySQL 将使用默认的存储引擎。
create table engine_test(id int,name varchar(255),description text
) engine = InnoDB;

四、修改存储引擎

  1. 修改存储引擎可能会执行复制表的操作,因此可能造成数据丢失或不可用,确保在执行修改之前备份数据;
  2. 不是所有的存储引擎都支持相同的功能,确保新的存储引擎支持当前应用程序所需的功能;
  3. 修改表的存储引擎可能会影响到现有的应用程序和查询,确保在修改之前评估和测试所有影响;
  4. 【alter table】可能需要适当权限才能执行,确保有足够权限执行修改操作。
alter table engine_test engine = MEMORY;

五、常用存储引擎及适用场景

  • InnoDB
    • MySQL 默认的事务型存储引擎;
    • 支持 ACID;
    • 具有较好的并发性和数据完整性;
    • 支持行级锁定;
    • 适用于多数场景,特别是需要事务支持的应用。
  • MyISAM
    • MySQL 早期版本常用的存储引擎;
    • 支持全文检索、表级锁的;
    • 不支持事务;
    • 具有简单性和高性能,在读密集广泛应用。
  • MEMORY
    • 称为 HEAP,将表存储在内存中;
    • 具有较高的读写性能,但数据会在服务器重启时丢失;
    • 适用于快速读写临时数据集、缓存、临时表等场景。
  • CSV
    • 将数据以纯文本格式存储;
    • 适用于需要处理和导入、导出 CSV 格式数据的场景。
  • ARCHIVE
    • 对数据高效压缩和存储;
    • 适用于需要长期存储大量历史数据且不经常查询的场景。
http://www.lryc.cn/news/2384833.html

相关文章:

  • CSS:margin的塌陷与合并问题
  • 防护等级IPxx含义 -雨天充电需要防护盖吗
  • 【设计模式】责任链+模板+工程模式使用模板
  • 探索服务网格(Service Mesh):云原生时代的网络新范式
  • SQL SERVER中实现类似LEAST函数的功能,返回多列数据中的最小值
  • SymPy | 获取表达式自由变量方法与因式分解
  • 深度剖析并发I/O模型select、poll、epoll与IOCP核心机制
  • 单片机——实现交通信号灯管理
  • 数据结构 -- 交换排序(冒泡排序和快速排序)
  • 【算法】: 前缀和算法(利用o(1)的时间复杂度快速求区间和)
  • macOS 安装 PostgreSQL
  • 打破传统范式,线上 3D 画展彰显多元亮点
  • Linux系统:基础命令之 ls~pwd~cd
  • MuJoCo安装记录
  • 软件工程(八):UML类图的几种关系
  • python定时删除指定索引
  • 基于OAuth2-proxy和Keycloak为comfyui实现SSO
  • SmartSoftHelp 之 SQL Server 数据库安全备份与安全还原详解---深度优化版:SmartSoftHelp DeepCore XSuite
  • Spring 代理与 Redis 分布式锁冲突:一次锁释放异常的分析与解决
  • 【数据结构】队列的完整实现
  • 2025 全球优质 AI 产品深度测评:从通用工具到垂直领域的技术突围 —— 轻量聚合工具篇
  • Python爬虫实战:获取天气网最近一周北京的天气数据,为日常出行做参考
  • 根据YOLO数据集标签计算检测框内目标面积占比(YOLO7-10都适用)
  • Helm简介、安装、配置、使用!
  • LLM笔记(九)KV缓存(2)
  • 开发 前端搭建npm v11.4.0 is known not to run on Node.js v14.18.1.
  • LVS 负载均衡集群应用实战
  • MySQL——基本查询内置函数
  • Day34打卡 @浙大疏锦行
  • 【Jitsi Meet】(腾讯会议的平替)Docker安装Jitsi Meet指南-使用内网IP访问