对于数据库引擎的总结

本文介绍了数据库引擎的概念,重点比较了MySQL中的InnoDB和MyISAM两种主流引擎。InnoDB提供事务安全和行级锁,适合大数据和频繁更新;而MyISAM则以快速查询为主,适用于查询需求高的场景。两者在存储结构上也存在差异,InnoDB将数据和索引存储在同一文件,而MyISAM则分开存储。在选择时,根据业务需求平衡事务处理、读写速度和安全性。
摘要由CSDN通过智能技术生成

一:概述

什么是数据库引擎?

MySQL提供了多种存储引擎,存储引擎一定程度上决定了表的能力。数据库引擎包括处理事务安全表的引擎和处理非事务安全表的的引擎。通俗点讲,所谓数据库引擎其实也就是存储数据到文件的技术。不同的技术有不同的存储机制,也就是平常所述的数据库引擎

二:常用数据库引擎有哪些?

1.InnoDB:提供行级锁与外键约束,目标是处理大数据容量(5.7以后的默认存储引擎)

2.MyISAM:不提供行锁与外键约束,但是提供表锁,查询数据较快(曾经的默认引擎)

3.MEMORY:所有数据都在内存中,数据的处理速度快,但安全性不高(断电即失)

三:如何选择?

同一个数据库也可以使用多种存储引擎。不同的表可以使用不同的存储引擎,也就是说,数据库引擎是针对表的(SQL文件中的建表语句最后都会指定数据库引擎的)。如果一个表需要提供事务支持,或者需要大量的增删改操作,可以选择innodb,如果对查询要求比较高,可以选择MyISAM存储机制,如果需要用于查询的临时表,可以选择MEMOR引擎

四:MyISAM与InnoDB存储结构上的区别(文件形式)

        1.MyISAM引擎每创建一个表都会产生3个文件,分别是.MYD,.MYI以及.frm

                (1).MYD:意为mydata,该文件用来存储数据

                (2).MYI:意为myindex,该文件用来存储表索引

                (3).frm:意为framework,该文件用来存储表架构

              mysql数据库(自带的那个)就是使用该引擎的,因为该数据库查询需求多,删除或更改需求少

        2.InnoDB:数据库每创建一个表都会产生2个文件,分别是.ibd与.frm文件

                (1).ibd:用来存储数据与索引(这一点与MyISAM不同)

                (2).frm:用来存储表结构(这一点与MyISAM相同)

当数据库所在的服务器由于某种原因,导致本地连接不上数据库时,可以通过直接操作数据库对应的文件,如.ibd与.frm来恢复表数据与表结构

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值