首页 > 数据库 >MySQL存储引擎

MySQL存储引擎

时间:2024-08-23 08:53:49浏览次数:9  
标签:Engine Comment 存储 Support 引擎 MySQL row

一、简介
数据库存储引擎是数据库底层软件组件,数据库管理系统(DBMS)使用数据引擎进行创建、查询、更新和删除数据操作。不同的存储引擎提供不同的存储机制、索引技巧、锁定水平等功能,使用不同的存储引擎,还可以获得特定的功能。现在许多不多的数据库管理系统都支持多种不同的数据引擎。MySQL的核心就是存储引擎。

MySQL提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在MySQL中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。MySQL5.7支持的存储引擎有:InnoDB,MyISAM,Memory,Merge,Archive,Federate,CSV,BLACKHOLE等。可以使用SHOW ENGINES语句查看系统支持的引擎类型,结果如下:

[mysql> SHOW ENGINES \G
*************************** 1. row ***************************
 Engine: MyISAM
Support: YES
Comment: Default engine as of MySQL 3.23 with great performance
*************************** 2. row ***************************
 Engine: MEMORY
Support: YES
Comment: Hash based, stored in memory, useful for temporary tables
*************************** 3. row ***************************
 Engine: InnoDB
Support: DEFAULT
Comment: Supports transactions, row-level locking, and foreign keys
*************************** 4. row ***************************
 Engine: BerkeleyDB
Support: NO
Comment: Supports transactions and page-level locking
*************************** 5. row ***************************
 Engine: BLACKHOLE
Support: NO
Comment: /dev/null storage engine (anything you write to it disappear
*************************** 6. row ***************************
 Engine: EXAMPLE
Support: NO
Comment: Example storage engine
*************************** 7. row ***************************
 Engine: ARCHIVE
Support: YES
Comment: Archive storage engine
*************************** 8. row ***************************
 Engine: CSV
Support: NO
Comment: CSV storage engine
*************************** 9. row ***************************
 Engine: ndbcluster
Support: NO
Comment: Clustered, fault-tolerant, memory-based tables
*************************** 10. row ***************************
 Engine: FEDERATED
Support: NO
Comment: Federated MySQL storage engine
*************************** 11. row ***************************
 Engine: MRG_MYISAM
Support: YES
Comment: Collection of identical MyISAM tables
*************************** 12. row ***************************
 Engine: ISAM
Support: NO
Comment: Obsolete storage engine
12 rows in set (0.00 sec)

mysql>]()

二、MySQL常用存储引擎介绍
2.1、InnoDB存储引擎

InnoDB 是事务型数据库的首选引擎,支持事务安全表(ACID),支持行锁定和外键。MySQL5.5.5之后,InnoDB 作为默认的存储引擎,InnoDB 主要特性有:

支持事务
灾难恢复性好
为处理巨大数据量的最大性能设计
实现了缓冲管理,不仅能缓冲索引也能缓冲数据,并且会自动创建散列索引以加快数据的获取
支持外键完整性约束。存储表中的数据时,每张表的存储都按逐渐顺序存放,如果没有显示在表定义时指定主键,InnoDB会为每一行生成一个6B的ROWID,并以此作为主键。
被用在众多需要高性能的大型数据库站点上
2.2、MyISAM存储引擎

MyISAM 基于 ISAM 的存储引擎,并对其进行扩展。它是在Web、数据存储和其他应用环境下最常使用的存储引擎之一。MyISAM 拥有较高的插入、查询速度,但不支持事务。在 MySQL5.5.5 之前的版本中,MyISAM 是默认的存储引擎。MyISAM 主要特性有:

不支持事务
使用表级锁,并发性差
主机宕机后,MyISAM表易损坏,灾难恢复性不佳
可以配合锁,实现操作系统下的复制备份、迁移
只缓存索引,数据的缓存是利用操作系统缓冲区来实现的。可能引发过多的系统调用且效率不佳
数据紧凑存储,因此可获得更小的索引和更快的全表扫描性能
可以把数据文件和索引文件放在不同目录
使用 MyISAM 引擎创建数据库,将产生3个文件。文件的名字以表的名字开始,扩展名指出文件类型:frm 文件存储表定义,数据文件的扩展名为 .MYD(MYData),索引文件的扩展名是 .MYI(MYIndex)。

标签:Engine,Comment,存储,Support,引擎,MySQL,row
From: https://www.cnblogs.com/ZWJ7671277/p/18375128

相关文章

  • 【面试】一文搞懂MySQL的分库分表!
            MySQL分库分表是一种数据库优化手段,通常用于应对数据量巨大、并发量高的场景。随着系统数据的增长,单个数据库可能难以承受高负载,进而影响性能和可扩展性。分库分表的目标是将数据分散到多个库或表中,从而减少单一库或表的压力,提高系统性能。目录一我们为什......
  • MySQL面试问题(二)
    MySQL面试问题(二)文章目录MySQL面试问题(二)为什么要使用索引索引是不是越多越好MySQL索引机制什么是聚簇索引没有主键innodb如何处理联合索引批量向MySQL中导入1000w数据如何优化分页时偏移量很大效率很差如何优化大数据量高并发访问数据库优化方法为什么要使用索引......
  • 六、什么是SEO优化(搜索引擎优化)?SPA单页面应用如何实现SEO优化?
    文章目录一、什么是搜索引擎优化(SEO)二、如何实现搜索引擎优化(SEO)搜索引擎工作原理实现搜索引擎优化(SEO)三、SPA单页面实现SEO优化SPA实现SEO优化的难点分析SEO实现方案:SSR服务端渲染一、什么是搜索引擎优化(SEO)seo(SearchEngineOptimization)又称网站优化,也称搜索引......
  • 深入理解Android MTP之存储映射分析
    深入理解AndroidMTP之UsbService启动分析 分析了MTP的服务端的启动,本文来分析切换MTP模式后,存储中的数据(文件、目录)是如何映射到PC端的。首先你得知道如何切换MTP模式。当手机通过usb连接电脑时,会出现一个关于usb的通知,点击通知后,会出现一个类似如下的界面这个FileTransfe......
  • 这是一款轻量存储黑科技!
    近日,天翼云联合InfoQ举办了以“新存储,更轻量”为主题的线上技术分享会。天翼云存储产品线总监潘亚莲以“轻量级存储集群控制器HBlock的设计理念与场景实践”为主题,讲解了HBlock在产品理念、价值主张、应用场景等方面的内容。自研·创新·可控HBlock开启存储新纪元IDC预测,全球20......
  • [Mysql]执行一条语句的过程
    执行一条select语句,期间发生了什么?学习SQL的时候,大家肯定第一个先学到的就是select查询语句了,比如下面这句查询语句://在product表中,查询id=1的记录select*fromproductwhereid=1;但是有没有想过,MySQL执行一条select查询语句,在MySQL中期间发生了什么?......
  • 云计算:数字经济的新引擎
    随着人工智能技术的飞速发展,云计算作为其背后的强大支撑,正逐渐成为数字经济的新引擎。本文将深入探讨云计算行业的布局与发展,分析其对经济金融领域的深远影响。云计算行业的崛起人工智能的助推自ChatGPT等人工智能应用的火爆,云计算行业迎来了前所未有的发展机遇。人工智能的......
  • MySql中常用的sql语句大全(工作常用篇)
    1.DDL1.1操作数据库--创建库createdatabase库名;--创建库时判断库是否存在,不存在则创建createdatabaseifnoexists库名;--查看所有数据库showdatabases;--使用指定数据库use库名;--查看当前指定数据库包含的数据表showtables;--查看数据库的结......
  • 【C语言进阶】数据如何安家?C语言内存中的存储艺术深度解析
    ......
  • 如何避免Mysql RR 隔离级别下的 INSERT 死锁
    背景       我们公司架构师,在使用Mysql做分布式锁的时候,因insert唯一键冲突,造成死锁。引起我对这部分知识点的兴趣和研究。       死锁日志的详细信息如下:LATESTDETECTEDDEADLOCK------------------------2024-08-1916:32:450x7f92b0ca2700***......