首页 > 数据库 >MySQL和Oracle数据库引擎

MySQL和Oracle数据库引擎

时间:2023-10-01 14:07:15浏览次数:35  
标签:数据库 事务处理 引擎 Innodb 支持 MySQL Oracle MyIASM


MYSQL数据库:

在mysql数据库中,常用到的引擎主要就是2个:Innodb和MyIASM。

Innodb:它提供了对数据库ACID事务的支持,并且还提供行级锁和外键的约束。它被设计的目的就是处理大数据容器的数据库系统,它本身实际上是基于Mysql后台的完整系统。在Mysql运行的时候,Innodb会在内存中建立缓冲池,用于缓冲数据和索引,但该索引不支持全文搜索。同时,启动也比较慢,他不会保存表的行数。当进行Select count(*) from table指令的时候,需要进行扫描全表。所以当需要使用数据库的事务时,该引擎就是首选。由于锁的粒度小,写操作是不会锁定全表的。所以在并发度较高的场景下使用会提升效率的。

MyIASM:MySQL的默认引擎,但不支持事务,也不支持行级锁和外键。因此在当执行insert和update时,会锁定整张表,导致效率降低。不过比起Innodb不同的是,MyIASM引擎保存了表的行数,于是当进行Select count(*) from table语句时,不需要进行扫描全表,直接读取已存的数据。所以,如果表的读操作远远多于写操作的时候,并不需要事务的支持,可以优选MyIASM数据库引擎。

两者在使用的时候,如何选择?

  1. 如果需要ACID事务支持时,则选择Innodb数据库引擎。
  2. 当大容量数据集时选择Innodb,因为它支持事务处理和故障的恢复。Innodb可以利用数据库日志来进行数据的恢复,当根据主键进行查询时,Innodb也是比较快的。
  3. 大批量的插入语句时(insert)在MyIASM数据库引擎中执行是比较快的,但没有事务的处理,不安全。但update语句在Innodb下执行比MyIASM要快,尤其是在并发量大的时候。

Oracle数据库:

在Oracle中是不存在引擎的概念,数据处理大致可以分为两大类:联机事务处理OLTP、联机分析处理OLAP。

联机事务处理OLTP:是传统的关系型数据库的主要应用,主要是基本的、日常的事务处理,例如银行交易等。它主要强调的是数据库内存效率、内存各种指示的命令率、绑定变量和并发操作。
联机分析处理OLAP:是数据库仓库系统的主要应用,支持复杂的分析操作,侧重决策支持,并且提供直观易懂的查询结果。它主要是强调数据分析、sql执行市场、磁盘I/O、分区等。


标签:数据库,事务处理,引擎,Innodb,支持,MySQL,Oracle,MyIASM
From: https://blog.51cto.com/u_15907536/7673840

相关文章

  • Python监控数据库内容
    本文将从多个方面详细阐述使用Python监控数据库内容的方法和技巧。一、连接数据库在Python中,我们可以使用不同的库来连接不同类型的数据库,常用的有MySQL、SQLite、PostgreSQL等。这里以MySQL为例:importpymysql#连接数据库defconnect_database():try:conn=py......
  • MySQL递归查询所有子集
    在MySQL数据库中,WITHRECURSIVE是递归查询的一种语法。然而,MySQL并不支持WITHRECURSIVE语法。相反,MySQL提供了另一种递归查询的方法,即使用CONNECTBY和STARTWITH语法。如果您需要执行递归查询,建议您使用MySQL版本8.0或更高版本,并使用CONNECTBY和STARTWITH......
  • MySQL递归查询所有子集
    在MySQL数据库中,WITHRECURSIVE是递归查询的一种语法。然而,MySQL并不支持WITHRECURSIVE语法。相反,MySQL提供了另一种递归查询的方法,即使用CONNECTBY和STARTWITH语法。如果您需要执行递归查询,建议您使用MySQL版本8.0或更高版本,并使用CONNECTBY和STARTWITH语......
  • `centos 7.9`二进制方式安装`MySQL-5.7.43`
    二进制方式安装说明以下操作都是基于Linux操作系统cenos7.9,并且所有的操作都是基于root用户关闭防火墙停止防火墙 systemctlstopfirewalld禁用防火墙开机自启 systemctldisablefirewalld下载安装包下载地址如下 https://dev.mysql.com/downloads/mys......
  • 数据库事务
    事务概述现实生活中我们经常会进行银行转账操作,该操作可分为两部分来完成:账户A转出和账户B转入,只有这两个部分都无误完成才认为转账成功。在数据库中,可通过两条语句完成该转账操作,如果其中任意一条语句出现异常没有正常执行则会导致两个账户的金额不同步造成错误。为了防止上述......
  • 基于weka的数据库挖掘➖聚类方法K-Means算法
    基于weka的数据库挖掘➖聚类方法K-Means算法目标1.掌握k-Means算法的原理和聚类过程2.可以使用k-Means算法实现对给定样本集的聚类。内容1.采用k-Means算法,对给出的15个样本数据进行聚类,聚类簇数可自由调整,最后输出簇数为2、3、5的聚类结果。k-Means初识k-Means算法是一种......
  • 给PG数据库已有表,已存在列添加序列并设置序列当前值为自增列的最大值
    CREATEORREPLACEFUNCTION"public"."add_sequence_to_table"("p_table_name"text,"p_column_name"text)RETURNS"pg_catalog"."void"AS$BODY$DECLAREmax_valueINTEGER;sequence_nametext;B......
  • 【腾讯云生态大会】腾讯云向量数据库
    【腾讯云生态大会】腾讯云向量数据库一、腾讯云向量数据库介绍二、向量数据库的产品规格三、向量数据库关键概念四、向量数据库的使用之新建数据库实例五、向量数据库的初体验六、向量数据库的使用之检索性能压测七、总结个人主页:ζ小菜鸡大家好我是ζ小菜鸡,让我们一起来体验......
  • MySQL数据库操作 Lab1
            实验一MySQL数据库操作实验目的:掌握MySQL安装、配置与登录方法,使用MySQL客户创建数据库及对数据库表完成各种操作实验内容:1、 安装MySQL数据库管理系统,5.7.X(建议5.7.23及以上)或8.X版本都可以。客户端不限。2、 使用MySQL客户端创建数据库,并且在库中按......
  • 一文搞懂MySQL事务隔离级别和实现原理
    什么是事务数据库事务指的是一组数据操作,事务内的操作要么就是全部成功,要么就是全部失败,什么都不做,其实不是没做,是可能做了一部分但是只要有一步失败,就要回滚所有操作。MySQL事务都是指在InnoDB引擎下,MyISAM引擎是不支持事务。假设一个网购付款的操作,用户付款后要涉及到订单......