首页 > 数据库 >【Mysql】MySQL存储引擎的介绍

【Mysql】MySQL存储引擎的介绍

时间:2024-06-21 14:27:51浏览次数:23  
标签:存储 Memory MySQL 引擎 InnoDB MyISAM Mysql

文章目录


前言

在处理大量数据的系统中,如何快速准确的获取所需的信息是一个重要的问题。这就像在一个巨大的图书馆中寻找一本书,如果没有目录或指南,这将是一项艰巨的任务。在数据库中,我们使用索引来解决这个问题。本文将介绍MySQL中索引的使用。


一、存储引擎简介

MySQL的存储引擎决定了如何存储数据、如何为数据建立索引以及如何为数据记录和检索提供接口。以下是几种常用的MySQL存储引擎:

  • InnoDB: InnoDB是MySQL的默认存储引擎,提供了全面的事务支持,包括ACID事务和提交、回滚等操作。InnoDB使用行级锁定,支持外键约束,并具有崩溃恢复能力。

  • MyISAM: MyISAM是MySQL早期的默认存储引擎,现在仍被广泛使用。MyISAM支持全文索引,适用于只读或者大量读少量写的应用。但是,MyISAM不支持事务和行级锁定,只支持表级锁定。

  • Memory: Memory存储引擎将所有数据存储在内存中,数据的读写速度非常快。但是,一旦数据库服务器关闭,所有数据都会丢失。Memory存储引擎适用于临时表和小型只读表。

  • Archive: Archive存储引擎用于存储和检索大量的历史数据。它使用压缩技术来减少存储空间的使用,但是只支持INSERT和SELECT操作。

  • Federated: Federated存储引擎用于访问远程MySQL数据库中的表,就像它们是本地数据库中的表一样。

Blackhole:Blackhole存储引擎将所有写入的数据丢弃,但是能够记录所有的操作。这使得它适用于复制和日志记录等特殊应用。


二、使用场景

每种存储引擎都有其特定的使用场景:

  • InnoDB: 如果你的应用需要全面的事务支持,行级锁定以支持高并发,或者需要外键约束来保持数据的引用完整性,那么InnoDB是一个很好的选择。

  • MyISAM: 如果你的应用主要是读取操作,或者需要进行全文搜索,那么MyISAM可能是一个更好的选择。

  • Memory: 如果你需要一个非常快速的存储引擎来存储临时数据,那么Memory存储引擎是一个很好的选择。

  • Archive: 如果你需要存储大量的历史数据,或者需要存储日志或审计数据,那么Archive存储引擎可能是一个更好的选择。

  • Federated: 如果你需要在不复制数据的情况下访问和操作远程MySQL数据库中的表,那么Federated存储引擎是一个很好的选择。

  • Blackhole: 如果你需要一个存储引擎来进行复制或者日志记录,那么Blackhole存储引擎是一个很好的选择。


三、总结

选择合适的存储引擎能够显著提高应用的性能和可靠性。在选择存储引擎时,我们需要考虑我们的应用需求,包括事务支持、并发需求、数据完整性需求、内存使用、历史数据存储等等。希望本文能帮助你更好地理解和选择MySQL的存储引擎。。

标签:存储,Memory,MySQL,引擎,InnoDB,MyISAM,Mysql
From: https://blog.csdn.net/tr6666/article/details/139853933

相关文章

  • 五天搞定Mysql基础知识-Day05
    学习目标:        1、MySQL常用内置函数        2、了解存储过程        3、了解视图        4、了解事务        5、了解索引        6、掌握基于命令行的SQL使用第一章MySQL内置函数一、字符串函数1、拼接字符串......
  • MySQL触发器基本结构
    1修改分隔符符号delimiter$$可以修改成$$//都行2创建触发器函数名称createtrigger函数名3什么样的操作触发,操作那个表after:....之后触发before:....之前触发inser:插入被触发uodate:修改被触发delete:删除被触发on表名实例:在users表被添加信息后触发af......
  • JavaWeb——Mysql的启动/登录/卸载
    目录1.Mysql服务器2.Mysql的简单使用2.1启动Mysql:2.2登录Mysql2.3退出3.连接别人的数据库4.卸载mqsql1.Mysql服务器安装了Mysql的计算机都成为Mysql服务器 2.Mysql的简单使用2.1启动Mysql:第一种方法:搜索服务,找到Mysql80,右击打开;第二种方法:输入cmd,右击命......
  • Mysql渗透及提权,命令执行
    查询用户selectuser()查询数据库版本selectversion()查询当前操作系统select@@version_compile_os查询读取数据库路径select@@datadir查询MYSQL安装路径select@@basedir查询plugin的路径select@@plugin_dirMysql-UDF提权https://blog.csdn.net/qq_48201589/......
  • MySQL存储引擎
    一、存储引擎定义存储引擎是MySQL数据库的组件,负责执行实际的数据IO操作(数据的存储和提取)。工作在文件系统之上,数据库的数据会先传输到存储引擎,再按照存储引擎的存储格式保存到文件系统。常用的存储引擎:InnoDB MyISAM二、MyISAM和InnoDBMyISAM1、MyISAM相关特性MyISA......
  • linux上安装MySQL的详细教程
    一、检查是否安装过mysql   rpm-qa|grepmysql(ps:输入命令没内容就是没有安装)二、安装mysql包yum-yinstallmysql57-community-release-el7-10.noarch.rpm出现下边这个就表示成功了三、安装mysql1.首先要进行的工作就是:(该命令作用就是导入MySQL官方的......
  • Mysql慢查询及优化(全网最详细!!!)
    一、定位慢SQL1.首先确认是否开启了慢查询2.设置慢查询的时间限制3.查询慢查询日志可定位具体的慢sql4.相关sql查询5.用Explain分析具体的sql语句6.用Explain字段介绍二、慢SQL优化1.不使用子查询2.读取适当的记录LIMITM,N3.分组统计可以禁止排序4.禁止不必要......
  • [Mysql] 的基础知识和sql 语句.教你速成(上)——逻辑清晰,涵盖完整
    目录前言上篇的内容概况下篇的内容概况 数据库的分类关系型数据库常见的关系型数据库系统非关系型数据库1.键值对数据库(Key-ValueStores)特点:常见的键值对数据库:2.文档数据库(DocumentStores)特点:常见的文档数据库:3.列族数据库(Column-FamilyStores)特点:常......
  • 全面的WAS存储权限管理方案,了解一下!
    WAS存储权限管理通常指的是对WindowsAzureStorage(WAS)的存储设备进行权限控制和管理。在企业中,随着数据量的飞速增长,对存储设备的安全性、效率和成本的关注也日益增加。有效的WAS存储权限管理可以确保数据的安全性,防止未授权访问或数据泄露,同时也能够提高数据访问的流畅性。在......
  • windows安装MySQL
    windows安装MySQL1.下载MySQL的安装包这里以mysql5.7.35为例进行安装演示用安装包放在下面mysql-5.7.35-winx64.zip2.解压安装包到需要安装的路径3.在解压的文件中创建my.ini[mysqld]basedir=MySQL路径\datadir=MySQL路径\data\port=3306skip-grant-tables4.安装My......