mysql的数据库引擎
一般来说,MySQL有以下几种引擎:ISAM、MyISAM、HEAP、InnoDB和Berkley(BDB)。注意:不同的版本支持的引擎是有差异的。当然啦,如果你感觉自己的确技术高超,你还能够使用MySQL++来创建自己的数据库引擎,这个已经outof my knowledge,牛人可以参照MySQL++API帮助来实现。下面逐一叙述这5种引擎各自的特性:
ISAM
ISAM是一个定义明确且历经时间考验的数据表格管理方法,它在设计之时就考虑到数据库被查询的次数要远大于更新的次数。因此,ISAM执行读取操作的速度很快,而且不占用大量的内存和存储资源。ISAM的两个主要不足之处在于,它不支持事务处理,也不能够容错:如果你的硬盘崩溃了,那么数据文件就无法恢复了。如果你正在把ISAM用在关键任务应用程序里,那就必须经常备份你所有的实时数据,通过其复制特性,MySQL能够支持这样的备份应用程序。
MyISAM
MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZETABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMChk工具和用来恢复浪费空间的MyISAMPack工具。
MyISAM强调了快速读取操作,这可能就是为什么MySQL受到了Web开发如此青睐的主要原因:在Web开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商(InternetPresence Provider,IPP)只允许使用MyISAM格式。
HEAP
HEAP允许只驻留在内存里的临时表格。驻留在内存里让HEAP要比ISAM和MyISAM都快,但是它所管理的数据是不稳定的,而且如果在关机之前没有进行保存,那么所有的数据都会丢失。在数据行被删除的时候,HEAP也不会浪费大量的空间。HEAP表格在你需要使用SELECT表达式来选择和操控数据的时候非常有用。要记住,在用完表格之后就删除表格。让我再重复一遍:在你用完表格之后,不要忘记删除表格。
InnoDB和BerkleyDB
InnoDB和BerkleyDB(BDB)数据库引擎都是造就MySQL灵活性的技术的直接产品,这项技术就是MySQL++API。在使用MySQL的时候,你所面对的每一个挑战几乎都源于ISAM和MyISAM数据库引擎不支持事务处理也不支持外来键。尽管要比ISAM和MyISAM引擎慢很多,但是InnoDB和BDB包括了对事务处理和外来键的支持,这两点都是前两个引擎所没有的。如前所述,如果你的设计需要这些特性中的一者或者两者,那你就要被迫使用后两个引擎中的一个了。
认识完了这么多的引擎,我们也知道了它们应该在什么情况下拿来应急,那么接着我们就要学会如何来更换这些引擎了。
Globle:一种最简单的方法就是更改服务器配置,直接将其设置成你所需要的引擎。这个在win下通过更改服务器安装目录下的mysql.ini中的default-storage-engine项即可,也可以通过运行MySQLServer Instance Configuration Wizard做简单的设置。
PerTable:除了全局的方法外,还有一种更灵活的配置方法,那就是按表来设置引擎,这样我们就可以把那些需要用到事务处理的表设置成InnoDB,其他设置成MyISAM,将性能提升到极致,这是不是很令人兴奋呢?设置方法也比较简单:
1、你可以在CreateTable语句的最后添加扩展语句,如TYPE=MyISAM(或者ENGINE =INNODB)来指定当前标的引擎类型。也可以用Alter语句在建立表个后进行更改。当你不清楚当前数据库中各表的引擎时可以使用SHOWTABLE STATUS FROM DBname来查看。
2、使用随MySQL服务器发布同时提供的MySQL客户端来创建表,在创建时可以选择使用的存储引擎。
不同的引擎选择在不同的业务处理上,性能将有天壤之别!!
mysql的数据库引擎相关推荐
- 【腾讯面试题】MySQL常用数据库引擎
MySQL常用数据库引擎 MyISAM存储引擎 InnoDB存储引擎 MEMORY存储引擎 存储引擎的选择 查看MySQL数据库使用的引擎 SHOW ENGINES; 查看数据库默认使用哪个引擎 SH ...
- mysql 修改引擎_修改MySQL的数据库引擎为INNODB的方法
本文主要介绍了修改MySQL的数据库引擎为INNODB的方法,希望能对您有所帮助. 对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎.如果你要使用全文索引,那必须使用myis ...
- MySQL常用数据库引擎
MySQL常用数据库引擎 查看MySQL数据库使用的引擎 SHOW ENGINES; 查看数据库默认使用哪个引擎 SHOW VARIABLES LIKE 'storage_engine'; MyISA ...
- mysql数据库引擎博客_2、MySQL常见数据库引擎及比较?
摘自: https://www.cnblogs.com/zhuifeng-mayi/p/9265075.html MySQL存储引擎简介 MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQ ...
- Mysql的数据库引擎 区别特点_mysql数据库存储引擎及区别
MySQL有多种存储引擎,每种存储引擎有各自的优缺点,可以择优选择使用: MyISAM.InnoDB.MERGE.MEMORY(HEAP).BDB(BerkeleyDB).EXAMPLE.FEDERA ...
- mysql支持数据安全的引擎_2、MySQL常见数据库引擎及比较?
MySQL存储引擎简介 MySQL支持数个存储引擎作为对不同表的类型的处理器.MySQL存储引擎包括处理事务安全表的引擎和处理非事务安全表的引擎: MyISAM管理非事务表.它提供高速存储和检索,以及 ...
- MySQL的数据库引擎介绍
1.什么是数据库引擎 数据库引擎就是操作数据库的一段程序或程序段,用于存储.处理和保护数据的核心服务. 利用数据库引擎可控制访问权限并快速处理事务,从而满足企业内大多数需要处理大量数据的应用程序的要求 ...
- mysql之数据库引擎
一:引擎概述 1,为什么要合理选择数据库存储引擎? MySQL中的数据用各种不同的技术存储在文件(或者内存)中.这些技术中的每一种技术都使用不同的存储机制.索引技巧.锁定水平并且最终提供广泛的不同的功 ...
- mysql 的数据库引擎
mysql 缺省情况 下数据库引擎是 MyISAM 这种数据库引擎是不支持事务的,InnoDB这种数据库引擎是支持事务的. mysql 支持的数据库引擎如下图所示: MySIAM MySQL5.0以前 ...
- Mysql:数据库引擎
废话不多说,我们先看MySql 用到了那些引擎 SHOW ENGINES 直接可以看到有下面这些引擎 InnoDB,MRG_MYISAM,MEMORY,BLACKHOLE,MyISAM,CSV,ARC ...
最新文章
- ogg oracle to mysql_ogg oracle to mysql
- 最强的浏览器插件——油猴脚本
- 如何通过编程方式添加Native Client服务器别名
- [精选代码笔记]Anagram, group-anagrams, two sum
- 中文(英译) 爱情一句话哲理
- mr图像翻转的原因_MR的特殊检查脂肪抑制
- IOS UISwitch 组件的使用
- 设计灵感|如何让你的海报更吸睛?
- 她不讲武德,北航博士竟然把60年来的文本分类综述都整理了!!!
- shellcode之简单的栈溢出实验
- 关于Matlab取整函数round的用法
- 海信电视老出现android是什么意思,海信电视屏幕上显示“智能电视系统启动中,请稍后”是什么意思?怎样处理?- 一起装修网...
- 从OPPO TWS耳机看OPPO声学的体面回归
- axio get传参。
- (转自博客园-雲霏霏)5天玩转C#并行和多线程编程 —— 第三天 认识和使用Task
- 四则运算之Right-BICEP单元测试
- 强化学习1 高斯赛德尔迭代
- docker使用docker compose file部署项目时,实现容器卷挂载,并对容器内文件夹赋予权限
- 飞机机身结构主要分三种,现在大部分飞机都用第三种
- PMP考试时间推迟了,如何办理退缓考?