返回顶部
首页 > 资讯 > 数据库 >Mysql数据库的存储引擎——必看教程
  • 620
分享到

Mysql数据库的存储引擎——必看教程

数据库mysqljava 2023-10-09 12:10:38 620人浏览 薄情痞子
摘要

目录 一、什么是存储引擎 二、MySQL支持的存储引擎 三、常见的存储引擎 1.InnoDB存储引擎         2.MyISAM存储引擎         3.MEMORY存储引擎 四、选择存储引擎 总结  ✨✨✨大家好,我是会飞

目录

一、什么是存储引擎

二、MySQL支持的存储引擎

三、常见的存储引擎

1.InnoDB存储引擎

        2.MyISAM存储引擎

        3.MEMORY存储引擎

四、选择存储引擎

总结


 ✨✨✨大家好,我是会飞的鱼-blog,今天我来给大家介绍一下Mysql,有不足之处,请大家多多指教。感谢大家支持!!!

一、什么是存储引擎

        Mysql中存在多种存储引擎的概念。简而言之,存储引擎就是指表的类型。在具体开发时,为了提高mysql数据库管理系统的使用效率和灵活性,可以根据实际需要来选择存储引擎。因为存储引擎指定了表的类型,即如何存储和索引数据、是否支持事务等,同时存储引擎也决定了表在计算机中的存储方式。

二、Mysql支持的存储引擎

        用户在选择存储引擎之前,首先需要确定数据库管理系统支持哪些存储引擎。在MySQL数据库管理系统,通过SHOW ENGINES来查看支持的存储引擎,语法如下:

            SHOW ENGINES;         

        在创建表时,若没有指定存储引擎,表的存储引擎将为默认的存储引擎。如果需要操作默认存储引擎,首先需要查看默认存储引擎。可以使用下面的SQL语句来查询默认存储引擎,执行结果如图12-2所示。

           SHOW VARIABLES LIKE 'default_storage_engine';  

三、常见的存储引擎

1.InnoDB存储引擎

        InnoDB是MySQL数据库的一种存储引擎。InnoDB给MySQL的表提供了事务、回滚、崩溃修复能力和多版本并发控制的事务安全。MySQL从3.23.34a开始就包含InnoDB存储引擎。InnoDB是MySQL第一个提供外键约束的表引擎,而且InnoDB对事务处理的能力也是MySQL对其他存储引擎所无法与之比拟的。

        MySQL 5.6版本之后,除系统数据库之外,默认的存储引擎由MyISAM改为InnoDB,MySQL 8.0版本在原先的基础上将系统数据库的存储引擎也改为了InnoDB。

        InnoDB存储引擎中支持自动增长列AUTO_INCREMENT。自动增长列的值不能为空,且值必须唯一。MySQL中规定自增列必须为主键。在插入值时,如果自动增长列不输入值,那么插入的值为自动增长后的值;如果输入的值为0或空(NULL),那么插入的值也为自动增长后的值;如果插入某个确定的值,且该值在前面没有出现过,那么可以直接插入。

        InnoDB存储引擎中支持外键(FOREIGN KEY)。外键所在的表为子表,外键所依赖的表为父表。父表中被子表外键关联的字段必须为主键。当删除、更新父表的某条信息时,子表也必须有相应的改变。

        InnoDB存储引擎的优势在于提供了良好的事务管理、崩溃修复能力和并发控制;缺点是其读写效率稍差,占用的数据空间相对比较大。

2.MyISAM存储引擎

        MyISAM存储引擎是MySQL中常见的存储引擎,曾是MySQL的默认存储引擎。MyISAM存储引擎是基于ISAM存储引擎发展起来的。MyISAM增加了很多有用的扩展。

        MyISAM存储引擎的表存储成3个文件。文件的名字与表名相同,或站名包括frm、MYD和MYI。其中,frm为扩展名的文件存储表的结构;MYD为扩展名的文件存储数据,是MYData的缩写;MYI为扩展名的文件存储索引,是MYIndex的缩写。

        基于MyISAM存储引擎的表支持3种存储格式,包括静态型、动态型和压缩型。其中,静态型为MyISAM存储引擎的默认存储格式,其字段是固定长度的;动态型包含变长字段,记录的长度不是固定的;压缩型需要使用myiampack工具创建,占用的磁盘空间较小。

        MyISAM存储引擎的优势在于占用空间小,处理速度快;缺点是不支持事务的完整性和并发性。

3.MEMORY存储引擎

        MEMORY存储引擎是MySQL中一类特殊存储引擎。其使用存储在内存中的内容来创建表,而且所有数据也放在内存中。这些特性都与InnoDB存储引擎、MyISAM存储引擎不同。

        每个基于MEMORY存储引擎的表实际对应一个磁盘文件,该文件的文件名与表名相同,类型为frm类型,该文件中只存储表的结构,而其数据文件都是存储在内存中的。这样有利于数据的快速处理,提供整个表的处理效率。值得注意的是,服务器需要有足够的内存来维持MEMORY存储引擎的表的使用。如果不需要使用了,可以释放这些内存,甚至可以删除不需要的表。

        MEMORY存储引擎默认使用哈希(HASH)索引。其速度要比使用B型树(BTREE)索引快。如果读者希望使用B型树索引,可以在创建索引时选择使用。

        MEMORY表的大小是受到限制的。表的大小主要取决于两个参数,分别是max_rows和max_heap_table_size。其中,max_rows可以在创建表时指定;max_heap_table_size的大小默认为16MB,可以按需要进行扩大。因此,其存在于内存中的特性,这类表的处理速度非常快。但是,其数据易丢失,生命周期短。基于这个缺陷,选择MEMORY存储引擎时需要特别小心。

四、选择存储引擎

        在具体使用MySQL数据库管理系统时,选择一个合适的存储引擎是非常复杂的问题。因为每种存储引擎都有自己的特性、优势和应用场合,所以不能随便选择存储引擎。为了能够正确地选择存储引擎,必须掌握各种存储引擎的特性。

        下面从存储引擎的事务安全、存储限制、空间使用、内存使用、插入数据的速度和对外键的支持等角度来比较InnoDB、MyISAM和MEMORY


总结

        😊✨✨✨以上就是我学习的总结,希望大家一起探讨、探讨,一起加油,迈向更好的明天!!!

c20d7117-1650-4ecd-a20d-21186ed10ffd

来源地址:https://blog.csdn.net/m0_65635427/article/details/130383699

您可能感兴趣的文档:

--结束END--

本文标题: Mysql数据库的存储引擎——必看教程

本文链接: https://www.lsjlt.com/news/426289.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Mysql数据库的存储引擎——必看教程
    目录 一、什么是存储引擎 二、MySQL支持的存储引擎 三、常见的存储引擎 1.InnoDB存储引擎         2.MyISAM存储引擎         3.MEMORY存储引擎 四、选择存储引擎 总结  ✨✨✨大家好,我是会飞...
    99+
    2023-10-09
    数据库 mysql java
  • MySQL数据库存储引擎
    MySQL数据库存储引擎MySQL数据库是一种关系型数据库,数据时存放在数据库中的一张一张的表中的,各个表之间或有关联,表中的每行相关,每列是不相关。这是关系型数据库的基本存储方式。MySQL存储引擎是为了...
    99+
    2024-04-02
  • MySQL必知存储引擎
    Mysql存储引擎 MyISAM MySQL 5.0 之前的默认数据库引擎,最为常用。拥有较高的插入,查询速度,但不支持事务. InnoDB事务型数据库的首选引擎,支持ACID事务,支持行级锁定, MySQL 5.5 起成为默...
    99+
    2020-10-18
    MySQL必知存储引擎
  • MySQL数据库的视图、存储过程和存储引擎
    本文主要介绍了MySQL数据库的视图和MySQL数据库的存储过程,还介绍了MySQL的两个存储引擎MyISAM和InnoDB,希望大家通过这篇文章有所收获。一、前言MySQL 视图(View)是一种虚拟存在...
    99+
    2024-04-02
  • Mysql数据库支持的存储引擎对比
    目录存储引擎MySQL支持的存储引擎并发控制锁锁颗粒事务外键索引各种存储引擎的特点存储引擎 Mysql可以将数据以不同的技术存储在文件(内存)中,这种技术就称为存储引擎。 每一种存储...
    99+
    2024-04-02
  • Mysql数据库中的存储引擎是什么
    这篇文章主要介绍了Mysql数据库中的存储引擎是什么的相关知识,内容详细易懂,操作简单快捷,具有一定借鉴价值,相信大家阅读完这篇Mysql数据库中的存储引擎是什么文章都会有所收获,下面我们一起来看看吧。存储...
    99+
    2023-04-03
    mysql
  • 数据库学习之九:mysql 存储引擎
    九、mysql 存储引擎 1、课程大纲 存储引擎的介绍 mysql中的存储引擎分类 mysql存储引擎设置 mysql,innodb引擎存储结构 mysql中的事物 mysql中的锁 2、mysql存储引擎介绍 mys...
    99+
    2014-05-09
    数据库学习之九:mysql 存储引擎
  • MySQL数据库存储引擎的分类有哪些
    这篇文章主要讲解了“MySQL数据库存储引擎的分类有哪些”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL数据库存储引擎的分类有哪些”吧!1、简介My...
    99+
    2024-04-02
  • MySQL表类型中如何查看数据库支出的存储引擎
    这期内容当中小编将会给大家带来有关MySQL表类型中如何查看数据库支出的存储引擎,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。1、查看当前数据库支出的存储引擎方法1:mysql> show...
    99+
    2023-06-25
  • MySQL的存储引擎
    1、存储引擎概念 • MySQL中的数据用各种不同的技术存储在文件中,每一种技术都使用不同的存储机制、索引技巧、锁定水平并最终提供不同的功能和能力,这些不同的技术以及配套的功能在MySQL中称为存储引擎 • 存储引擎是MySQL将数据存储在...
    99+
    2023-09-07
    mysql 数据库 java
  • MySQL数据库中存储引擎的作用是什么
    这篇文章将为大家详细讲解有关MySQL数据库中存储引擎的作用是什么,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  MySQL数据库各种存储引擎作用有哪些 ...
    99+
    2024-04-02
  • MySQL数据库存储引擎介绍及数据库的操作详解
    目录mysql存储引擎InnoDB存储引擎MyISAM储存引擎Memory存储引擎Archive存储引擎数据库的相关操作创建数据库修改数据库删除数据库查看数据库列表打开数据库MySQL存储引擎 InnoDB存储引擎 In...
    99+
    2022-08-12
    MySQL数据库存储引擎 MySQL数据库操作
  • Linux数据库的存储引擎是什么
    Linux数据库通常使用MySQL或MariaDB作为数据库管理系统,它们的存储引擎包括但不限于InnoDB、MyISAM、Memo...
    99+
    2024-05-06
    Linux 数据库
  • mysql数据库存储引擎该如何去修改
    下面讲讲关于mysql数据库存储引擎该如何去修改,文字的奥妙在于贴近主题相关。所以,闲话就不谈了,我们直接看下文吧,相信看完mysql数据库存储引擎该如何去修改这篇文章你一定会有所受益。我们一般有两种方法来...
    99+
    2024-04-02
  • mysql怎么查看表的储存引擎
    1、查看mysql提供的引擎。MariaDB [(none)]> show engines; +--------------------+---------+------...
    99+
    2024-04-02
  • mysql如何查看表的存储引擎
    可以使用以下语句来查看MySQL表的存储引擎:```sqlSHOW TABLE STATUS LIKE 'table_name';`...
    99+
    2023-08-31
    mysql
  • mysql数据库存储过程教程
    mysql 存储过程是预编译的 sql 语句集合,可作为单个单元执行,提供提高性能、代码重用、安全性、数据完整性等优势。创建存储过程需要确定功能、编写代码、使用 create proce...
    99+
    2024-08-01
    mysql
  • Mysql存储引擎与数据存储的原理是什么
    Mysql存储引擎与数据存储的原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言作为一名开发人员,在日常的工作中会难以避免地接触到数...
    99+
    2024-04-02
  • MySQL中的存储引擎
       本篇文章主要介绍了MySQL存储引擎总结,本文讲解了什么是存储引擎 MyISAM、InnoDB、MEMORY、MERGE等内容,需要的朋友可以参考下 前言 在数据库中...
    99+
    2024-04-02
  • 3,mysql的存储引擎
    1,什么是存储引擎,存储引擎说白了就是如何存储数据,如何为存储的数据建立索引和如何更新,查询数据等技术的实现方法。因为在关系数据库中数据的存储是以表的形式存储的,所以存储引擎也可以成为表类型。 在Oracle和SQL Server等数据库中...
    99+
    2023-01-31
    引擎 mysql
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作