iis服务器助手广告广告
返回顶部
首页 > 资讯 > 数据库 >MySQL引擎有哪些
  • 866
分享到

MySQL引擎有哪些

2024-04-02 19:04:59 866人浏览 八月长安
摘要

这篇文章主要介绍了Mysql引擎有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 mysql数 据库引擎取决于Mysql在安装

这篇文章主要介绍了Mysql引擎有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。

 mysql数 据库引擎取决于Mysql在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MYSQL。在缺省情况下,MYSQL支持三个引擎:ISAM、MYISAM和HEAP。另外两种类型INNODB和BERKLEY(BDB),也常常可以使用。如果技术高超,还可以使用MySQL++ api自己做一个引擎。下面介绍几种数据库引擎:

    ISAM:ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到 数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不
支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实 时数据,通过其复制特性,MYSQL能够支持这样的备份应用程序。

    MyISAM:MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格定的机制,来优化多个并发的读写操作,其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMCHK工具和用来恢复浪费空间的
MyISAMPACK工具。MYISAM强调了快速读取操作,这可能就是为什么MySQL受到了web开发如此青睐的主要原因:在WEB开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和INTERNET平台提供商只允许使用MYISAM格式。MyISAM格式的一个重要缺陷就是不能在表损坏后恢复数据。

    HEAP:HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MYISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。

    InnoDB:InnoDB数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MYSQL++ API。在使用MYSQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理(transaction
process)也不支持外来键。尽管要比ISAM和 MyISAM引擎慢很多,但是InnoDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者 或者两者,那你就要被迫使用后两个引擎中的一个了。 

    MySQL 官方对InnoDB是这样解释的:InnoDB给MySQL提供了具有提交、回滚和崩溃恢复能力的事务安全(ACID兼容)存储引擎。InnoDB锁定在行级并且也在SELECT语句提供一个oracle风格一致的非锁定读,这些特色增加了多用户部署和性能。没有在InnoDB中扩大锁定的需要,因为在InnoDB中行级锁定适合非常小的空间。InnoDB也支持FOREIGN
KEY强制。在SQL查询中,你可以自由地将InnoDB类型的表与其它MySQL的表的类型混合起来,甚至在同一个查询中也可以混合。

    InnoDB是为处理巨大数据量时的最大性能设计,它的CPU效率可能是任何其它基于磁盘的关系数据库引擎所不能匹敌的。

    InnoDB存储引擎被完全与MySQL服务器整合,InnoDB存储引擎为在主内存中缓存数据和索引而维持它自己的缓冲池。InnoDB存储它的表&索引在一个表空间中,表空间可以包含数个文件(或原始磁盘分区)。这与MyISAM表不同,比如在MyISAM表中每个表被存在分离的文件中。InnoDB 表可以是任何尺寸,即使在文件尺寸被限制为2GB的操作系统上。

    InnoDB默认地被包含在MySQL二进制分发中。windows Essentials installer使InnoDB成为Windows上MySQL的默认表。

    InnoDB被用来在众多需要高性能的大型数据库站点上产生。著名的Internet新闻站点Slashdot.org运行在InnoDB上。 Mytrix, Inc.在InnoDB上存储超过1TB的数据,还有一些其它站点在InnoDB上处理平均每秒800次插入/更新的

    一般来说,MyISAM适合:(1)做很多count 的计算;(2)插入不频繁,查询非常频繁;(3)没有事务。InnoDB适合:(1)可靠性要求比较高,或者要求事务;(2)表更新和查询都相当的频繁,并且表锁定的机会比较大的情况。

    一般情况下,MySQL会默认提供多种存储引擎,可以通过下面的查看:

    (1)看你的MySQL现在已提供什么存储引擎: mysql> show
engines;

    (2)看你的MySQL当前默认的存储引擎: mysql> show variables like '%storage_engine%';

    (3)你要看某个表用了什么引擎(在显示结果里参数engine后面的就表示该表当前用的存储引擎): mysql> show create table 表名;

    所有的性能测试在:Micrisoft window xp sp2 , Intel(R) Pentinum(R) M processor 1.6oGHz 1G 内存的电脑上测试

    测试方法:连续提交10个query, 表记录总数:38万 , 时间单位 s

        引擎类型                    MyISAM                InnoDB              性能相差

        count                      0.0008357            3.0163                3609

        查询主键                   0.005708              0.1574                27.57

        查询非主键                  24.01                   80.37                 3.348

        更新主键                   0.008124             0.8183                 100.7

        更新非主键                0.004141             0.02625               6.338

        插入                         0.004188             0.3694                 88.21

    (1)加了索引以后,对于MyISAM查询可以加快:4 206.09733倍,对InnoDB查询加快510.72921倍,同时对MyISAM更新速度减慢为原来的1/2,InnoDB的更新速度减慢为原来的1/30。要看情况决定是否要加索引,比如不查询的log表,不要做任何的索引。

    (2)如果你的数据量是百万级别的,并且没有任何的事务处理,那么用MyISAM是性能最好的选择。

    (3)InnoDB表的大小更加的大,用MyISAM可省很多的硬盘空间。

        在我们测试的这个38w的表中,表占用空间的情况如下:
            引擎类型                    MyISAM               InnoDB
            数据                       53,924 KB           58,976 KB
            索引                       13,640 KB           21,072 KB
            占用总空间              67,564 KB           80,048 KB
 
        另外一个176W万记录的表, 表占用空间的情况如下:

            引擎类型                MyIsam               InnorDB
            数据                   56,166 KB           90,736 KB
            索引                   67,103 KB           88,848 KB
            占用总空间        123,269 KB         179,584 KB

感谢你能够认真阅读完这篇文章,希望小编分享的“MySQL引擎有哪些”这篇文章对大家有帮助,同时也希望大家多多支持编程网,关注编程网数据库频道,更多相关知识等着你来学习!

您可能感兴趣的文档:

--结束END--

本文标题: MySQL引擎有哪些

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

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

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

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

下载Word文档
猜你喜欢
  • MySQL引擎有哪些
    这篇文章主要介绍了MySQL引擎有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。 MySQL数 据库引擎取决于MySQL在安装...
    99+
    2024-04-02
  • mysql的引擎有哪些
    mysql的引擎有:InnoDB存储引擎:是事务型数据库的首选引擎,提供了良好的事务处理、崩溃修复能力和并发控制。MyISAM存储引擎:占用空间小,处理速度快。MEMORY存储引擎:使用存储在内存中的内容来创建表,而且数据全部放在内存中,是...
    99+
    2024-04-02
  • MySQL存储引擎有哪些
    这篇文章给大家分享的是有关MySQL存储引擎有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。MySQL有多种存储引擎,每种存储引擎有各自的优缺点,大家可以择优选择使用:MyI...
    99+
    2024-04-02
  • MySQL常用引擎有哪些
    本文小编为大家详细介绍“MySQL常用引擎有哪些”,内容详细,步骤清晰,细节处理妥当,希望这篇“MySQL常用引擎有哪些”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言:MySQL 有很多存储引擎(也叫数据引擎...
    99+
    2023-07-01
  • mysql有哪些存储引擎
    这篇文章主要介绍了mysql有哪些存储引擎,具有一定借鉴价值,需要的朋友可以参考下。希望大家阅读完这篇文章后大有收获。下面让小编带着大家一起了解一下。执行如下指令查看所有mysql所有的存储引擎InnoDB...
    99+
    2024-04-02
  • MySQL中有哪些存储引擎
    MySQL中有哪些存储引擎,相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。一、引言在mysql5之后,支持的存储引擎有十几个,但是常用的就那么几...
    99+
    2024-04-02
  • mysql数据库引擎有哪些
    这篇文章给大家介绍mysql数据库引擎有哪些,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。  查看数据库引擎命令:SHOW ENGINES  ISAM  ISAM是一个定义明确且历经时...
    99+
    2024-04-02
  • MySQL存储引擎都有哪些
    这篇文章将为大家详细讲解有关MySQL存储引擎都有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。  MySQL 的存储引擎存储引擎  ARCHIVE用于...
    99+
    2024-04-02
  • mysql引擎间的区别有哪些
    这篇文章主要介绍“mysql引擎间的区别有哪些”的相关知识,小编通过实际案例向大家展示操作过程,操作方法简单快捷,实用性强,希望这篇“mysql引擎间的区别有哪些”文章能帮助大家解决问题。 ...
    99+
    2024-04-02
  • MySQL中的存储引擎有哪些
    MySQL中常见的存储引擎包括: InnoDB:InnoDB是MySQL的默认存储引擎,支持事务、行级锁、外键等特性,适合处理大...
    99+
    2024-04-09
    MySQL
  • mysql存储引擎有哪些区别
    mysql存储引擎的区别:InnoDB支持事务安全,MyISAM和MEMORY两个不支持。InnoDB对空间使用程度较高,MyISAM和MEMORY对空间使用程度较低。InnoDB和MEMORY对内存使用程度较高,MyISAM对内存使用程度...
    99+
    2024-04-02
  • canvas引擎有哪些
    canvas引擎有Three.js、Pixi.js、EaselJS、Konva.js、Paper.js等。详细介绍:1、Pixi.js,提供了简单易用的API,支持精灵、纹理、滤镜等功能,同时还提供了丰富的工具和插件,方便开发者进行交互、动...
    99+
    2023-08-17
  • MySql中常用的引擎有哪些
    这篇文章给大家分享的是有关MySql中常用的引擎有哪些的内容。小编觉得挺实用的,因此分享给大家做个参考。一起跟随小编过来看看吧。数据库存储引擎是数据库底层软件组织,数据库管理系统(DBMS)使用数据引擎进行...
    99+
    2024-04-02
  • javascript引擎有哪些
    常见的javascript引擎有:1.Rhino,使用java编写的javascript引擎;2.V8,使用c++开发的javascript引擎;3.Chakra,专为IE浏览器开发的javascript引擎;常见的javascript引擎...
    99+
    2024-04-02
  • MySQL扩展存储引擎有哪些
    这篇文章将为大家详细讲解有关MySQL扩展存储引擎有哪些,文章内容质量较高,因此小编分享给大家做个参考,希望大家阅读完这篇文章后对相关知识有一定的了解。 下面介绍几个列式存储引擎:一:TokuDBToku...
    99+
    2024-04-02
  • Mysql搜索引擎都有哪些区别
    小编给大家分享一下Mysql搜索引擎都有哪些区别,希望大家阅读完这篇文章后大所收获,下面让我们一起去探讨吧! 一般MySQL常用的引擎有:ISAM,MyISAM,HEAP,InnoDB和Berkl...
    99+
    2024-04-02
  • MySQL的常见存储引擎有哪些
    这篇文章主要介绍了MySQL的常见存储引擎有哪些,具有一定借鉴价值,感兴趣的朋友可以参考下,希望大家阅读完这篇文章之后大有收获,下面让小编带着大家一起了解一下。MySQL常用存储引擎之MyISAM特性:1、...
    99+
    2024-04-02
  • mysql常见的存储引擎有哪些
    MySQL常见的存储引擎有以下几种:1. MyISAM引擎:是MySQL的默认存储引擎,提供了较好的性能和高效的读取速度。但不支持事...
    99+
    2023-09-15
    mysql
  • mysql存储引擎的类型有哪些
    MySQL存储引擎的类型有以下几种: InnoDB:支持事务处理,具有较好的性能和可靠性,适合大型数据库应用。 MyISAM:不支...
    99+
    2024-04-09
    mysql
  • mysql的数据库引擎有哪些特点
    MySQL的数据库引擎主要有以下几种特点: InnoDB引擎:InnoDB是MySQL默认的事务安全引擎,支持事务、行级锁以及外...
    99+
    2024-04-09
    mysql 数据库
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作