广告
返回顶部
首页 > 资讯 > 数据库 >MySQL存储引擎优缺点是什么
  • 823
分享到

MySQL存储引擎优缺点是什么

2023-06-02 22:06:37 823人浏览 薄情痞子
摘要

本篇内容介绍了“MySQL存储引擎优缺点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天主要分享常见的存储引擎:MyISAM、Inn

本篇内容介绍了“MySQL存储引擎优缺点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

今天主要分享常见的存储引擎:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)等,以及最常用的MyISAM与InnoDB两个引擎 ,文章尾部有两者的详细比较。

Mysql常用存储引擎介绍

InnoDB 引擎(mysql5.5以后默认使用)

Mysql 5.5 及以后版本中的默认存储引擎,他的优点如下:

灾难恢复性好

支持事务

使用行级

支持外键关联

支持热备份

对于InnoDB引擎中的表,其数据的物理组织形式是簇表(Cluster Table),主键索引和数据是在一起的,数据按主键的顺序物理分布

实现了缓冲管理,不仅能缓冲索引也能缓冲数据,并且会自动创建散列索引以加快数据的获取

支持热备份

MyISAM引擎

特性如下:

不支持事务

使用表级锁,并发性差

主机宕机后,MyISAM表易损坏,灾难恢复性不佳

可以配合锁,实现操作系统下的复制备份、迁移

缓存索引,数据的缓存是利用操作系统缓冲区来实现的。可能引发过多的系统调用且效率不佳

数据紧凑存储,因此可获得更小的索引和更快的全表扫描性能

MEMORY 存储引擎

提供内存表,也不支持事务和外键。显著提高访问数据的速度,可用于缓存会频繁访问的、可以重构的数据、计算结果、统计值、中间结果。

缺点如下:

使用表级锁,虽然内存访问快,但如果频繁的读写,表级锁会成为瓶颈

只支持固定大小的行。Varchar类型的字段会存储为固定长度的Char类型,浪费空间

不支持TEXT、BLOB字段。当有些查询需要使用到临时表(使用的也是MEMORY存储引擎)时,如果表中有TEXT、BLOB字段,那么会转换为基于磁盘的MyISAM表,严重降低性能

由于内存资源成本昂贵,一般不建议设置过大的内存表,如果内存表满了,可通过清除数据或调整内存表参数来避免报错

服务器重启后数据会丢失,复制维护时需要小心

MySQL存储引擎MyISAM与InnoDB如何选择

两种存储引擎的大致区别表现在:

1)InnoDB支持事务,MyISAM不支持,这一点是非常之重要。事务是一种高级的处理方式,如在一些列增删改中只要哪个出错还可以回滚还原,而MyISAM就不可以了。

2)MyISAM适合查询以及插入为主的应用,InnoDB适合频繁修改以及涉及到安全性较高的应用

3)InnoDB支持外键,MyISAM不支持

4)从MySQL5.5.5以后,InnoDB是默认引擎

5)InnoDB不支持FULLTEXT类型的索引

6)InnoDB中不保存表的行数,如select count(*) from table时,InnoDB需要扫描一遍整个表来计算有多少行,但是MyISAM只要简单的读出保存好的行数即可。注意的是,当count(*)语句包含where条件时MyISAM也需要扫描整个表。

7)对于自增长的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中可以和其他字段一起建立联合索引。

8)清空整个表时,InnoDB是一行一行的删除,效率非常慢。MyISAM则会重建表。

9)InnoDB支持行锁(某些情况下还是锁整表,如 update table set a=1 where user like '%lee%'

有人说MYISAM只能用于小型应用,其实这只是一种偏见。

如果数据量比较大,这是需要通过升级架构来解决,比如分表分库,读写分离,而不是单纯地依赖存储引擎。

现在一般都是选用InnoDB了,主要是MyISAM的全表锁,读写串行问题,并发效率锁表,效率低,MyISAM对于读写密集型应用一般是不会去选用的。

“MySQL存储引擎优缺点是什么”的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注编程网网站,小编将为大家输出更多高质量的实用文章!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL存储引擎优缺点是什么

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

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

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • MySQL存储引擎优缺点是什么
    本篇内容介绍了“MySQL存储引擎优缺点是什么”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!今天主要分享常见的存储引擎:MyISAM、Inn...
    99+
    2023-06-02
  • MySQL存储引擎InnoDB与Myisam的优缺点
    mysql有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用:MyISAM、InnoDB、MERGE、MEMORY(HEAP)、BDB(BerkeleyDB)、EXAMPLE、FEDERATED、ARCHIVE...
    99+
    2022-12-29
    InnoDB与Myisam InnoDB与Myisam的优缺点 InnoDB与Myisam的区别
  • MySQL存储引擎是什么
    本篇内容主要讲解“MySQL存储引擎是什么”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“MySQL存储引擎是什么”吧!MySQL 存储引擎存储引擎概述数据库最核...
    99+
    2022-10-19
  • MySQL存储过程的优缺点是什么
    这篇文章主要介绍MySQL存储过程的优缺点是什么,文中介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们一定要看完!存储过程(Stored Procedure)是一种在数据库中存储复杂程序,以便外部程序调...
    99+
    2022-10-18
  • MySQL 储存引擎知识点
    一:MySQL 存储引擎概述 1.1 什么是存储引擎:   """MySQL中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的...
    99+
    2018-08-17
    MySQL 储存引擎知识点
  • mysql存储引擎区别是什么
    mysql存储引擎区别是什么?这个问题可能是我们日常学习或工作经常见到的。希望通过这个问题能让你收获颇深。下面是小编给大家带来的参考内容,让我们一起来看看吧!MySQL中存储引擎的区别:以Innodb和my...
    99+
    2022-10-18
  • MySQL中InnoDB存储引擎是什么
    这篇文章给大家分享的是有关MySQL中InnoDB存储引擎是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。在MySQL中InnoDB属于存储引擎层,并以插件的形式集成在数据库...
    99+
    2022-10-18
  • Mysql中MERGE存储引擎是什么
    这篇文章给大家分享的是有关Mysql中MERGE存储引擎是什么的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。MERGE 存储引擎把一组 MyISAM 数据表当做一个逻辑单元来对待...
    99+
    2022-10-18
  • mysql常用的存储引擎是什么
    这篇文章将为大家详细讲解有关mysql常用的存储引擎是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。MySql中的存储引擎有MyISAM引擎,MyISAM Merge...
    99+
    2022-10-18
  • MySQL存储引擎的区别是什么
    MySQL存储引擎的区别是什么,很多新手对此不是很清楚,为了帮助大家解决这个难题,下面小编将为大家详细讲解,有这方面需求的人可以来学习下,希望你能有所收获。  MySQL有多种存储引擎,每种存储引擎有各自的...
    99+
    2022-10-18
  • 常用的MySQL存储引擎是什么
    这篇文章将为大家详细讲解有关常用的MySQL存储引擎是什么,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。最常用的存储引擎是:  MyISAM:默认的MySQL插件式存储引...
    99+
    2022-10-18
  • mysql存储过程有什么优缺点
    这篇文章主要介绍“mysql存储过程有什么优缺点”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql存储过程有什么优缺点”文章能帮助大家解决问题。 ...
    99+
    2022-10-19
  • MySQL索引的优缺点是什么
    这篇文章主要讲解了“MySQL索引的优缺点是什么”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“MySQL索引的优缺点是什么”吧!在 SQL 优化中,索引是至...
    99+
    2022-10-19
  • MySQL存储引擎有什么用
    这篇文章将为大家详细讲解有关MySQL存储引擎有什么用,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。一、MySQL主要存储引擎:。Innodb 。myisam。memory。blackhole下...
    99+
    2023-06-22
  • 什么是InnoDB存储引擎
    这篇文章主要介绍“什么是InnoDB存储引擎”,在日常操作中,相信很多人在什么是InnoDB存储引擎问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”什么是InnoDB存储引擎”...
    99+
    2022-10-18
  • MySQL常用存储引擎及特点
    下文主要给大家带来MySQL常用存储引擎及特点,希望这些内容能够带给大家实际用处,这也是我编辑MySQL常用存储引擎及特点这篇文章的主要目的。好了,废话不多说,大家直接看下文吧。    ...
    99+
    2022-10-18
  • mysql中InnoDB存储引擎指的是什么
    这篇文章主要介绍了mysql中InnoDB存储引擎指的是什么,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。mysql中InnoDB存储引擎1、说明MySQL默认事务型存储引擎...
    99+
    2023-06-15
  • Mysql存储引擎与数据存储的原理是什么
    Mysql存储引擎与数据存储的原理是什么,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。前言作为一名开发人员,在日常的工作中会难以避免地接触到数...
    99+
    2022-10-18
  • MySQL优化(2):存储引擎和锁
    存储引擎: 早期的时候,存在如何选择MyISAM和Innodb? 现在,Innodb不断地发展完善,成为了主流的存储引擎。 因此5.5之后的mysql,无脑选择Innodb即可。   MYSQL中的数据,索引以及其他的对象,是如何...
    99+
    2019-11-02
    MySQL优化(2):存储引擎和锁
  • MySQL 常见存储引擎的优劣
    目录查看所有存储引擎InnoDB 存储引擎MyISAM 存储引擎MEMORY 存储引擎查看所有存储引擎 我们可以通过 show engines 命令来看到我们的 mysql server 提供了哪些引擎: sh...
    99+
    2022-05-23
    MySQL 存储引擎 MySQL 存储引擎优劣
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作