通过数据库引擎来加速MySQL数据库

如果你是个赛车手,并且按一下按钮就能够立即更换引擎而不需要把车开到车库里去换,那会是什么感觉呢?MySQL数据库为开发人员所做的就好像是按按钮换引擎;它让你选择数据库引擎,并给你一条简单的途径来切换它。

MySQL的自带引擎肯定是够用了,但是在有些情况下,其他的引擎可能要比手头所用更适合完成任务。如果愿意的话,你甚至可以使用MySQL++ API来创建自己的数据库引擎,就像打穿气缸装上自己的化油器。现在让我们来看看你该如何选择引擎,以及如何在可用引擎之间切换。

选择你的引擎

你能用的数据库引擎取决于MySQL在安装的时候是如何被编译的。要添加一个新的引擎,就必须重新编译MySQL。仅仅为了添加一个特性而编译应用程序的概念对于Windows的开发人员来说可能很奇怪,但是在UNIX世界里,这已经成为了标准。在缺省情况下,MySQL支持三个引擎:ISAM、MyISAM和HEAP。另外两种类型InnoDB和Berkley(BDB),也常常可以使用。

ISAM

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

MyISAM

MyISAM是MySQL的ISAM扩展格式和缺省的数据库引擎。除了提供ISAM里所没有的索引和字段管理的大量功能,MyISAM还使用一种表格锁定的机制,来优化多个并发的读写操作。其代价是你需要经常运行OPTIMIZE TABLE命令,来恢复被更新机制所浪费的空间。MyISAM还有一些有用的扩展,例如用来修复数据库文件的MyISAMChk工具和用来恢复浪费空间的MyISAMPack工具。

MyISAM强调了快速读取操作,这可能就是为什么MySQL受到了Web开发如此青睐的主要原因:在Web开发中你所进行的大量数据操作都是读取操作。所以,大多数虚拟主机提供商和Internet平台提供商(Internet Presence Provider,IPP)只允许使用MyISAM格式。

HEAP

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

时间: 2024-08-06 07:44:57

通过数据库引擎来加速MySQL数据库的相关文章

access数据库转换导入到mysql数据库

  一. 软件介绍 DB2MYSQL是一个可以自动将ACCESS数据库文件转化为对应的SQL代码的软件.可广泛应用于ACCESS数据库转换为MYSQL或其他类型的SQL数据库的软件. DB2MYSQL能够实现可视化操作数据库,转换界面非常简单明了,可轻松实现ACCESS数据库转换为MYSQL数据库.如果想要将SQL SERVER的数据库转换到MYSQL,也可以使用这个软件,具体操作是先使用SQL SERVER的"导入和导出数据"将SQL SERVER数据导出到ACCESS文件,然后再将

云数据库RDS中的MySQL数据库备份

背景 RDS使用mysqldump对 MySQL 数据库进行逻辑全量备份,使用开源软件Xtrabackup进行物理全量备份,是实例级别的备份.本文主要从原理的角度来介绍MySQL数据库的备份和恢复,让用户更加了解RDS的备份恢复机制. 一.使用Mysqldump进行逻辑备份  mysqldump作为重要的MySQL备份工具,功能相当强大.备份参数.恢复策略,需要仔细研究. 备份数据库: 备份单个数据库或单个数据库中的指定表: mysqldump [OPTIONS] database [tb1]

[saiku] 将saiku自带的H2嵌入式数据库迁移到本地mysql数据库

saiku数据库的表和用户默认创建是在启动项目的时候,通过初始化 saiku-beans.xml 中的 h2database 这个 bean  执行org.saiku.service.Database类的init方法来初始化数据表和默认用户的.   具体修改如下: 1/修改web.xml 中 数据连接配置信息 将数据库链接修改为本地mysql配置信息: <context-param> <param-name>db.url</param-name> <param-v

PowerDesign数据库建模导出至MySQL数据库

  虽然最新的MySQL安装文件都带有MySQL Workbench,可以方便建模并生成数据库,不过口碑最佳的数据库建模工具还是当属Sybase的PowerDesign,可以让我们方便地一次建模,四海成库. 下面写一下如何从PowerDesign中导出数据库至MySQL(首先说明我用的是PowerDesigner 15以及MySQL5.5.22): 1.Database -> Configure Connections- 在弹出的对话框中切换到Connection Profiles栏目:点击Ad

ysql java 数据库-对于java操作mysql数据库删除一行的问题;本人菜鸟跪求

问题描述 对于java操作mysql数据库删除一行的问题:本人菜鸟跪求 package org.demo.test; import java.sql.*; public class SimpleConnectMysqlDemo { public static void main(String[] args) { // 驱动程序名 String driver = "com.mysql.jdbc.Driver"; // URL指向要访问的数据库名scutcs String url = &q

access数据库快速转换成mysql数据库的代码

 代码如下 复制代码 <?php  //一.连接mysql $dbhost      = "localhost:3307";  //服务器 $db        = "dataname";    //数据库 $dbuser      = "root";      //用户名 $dbpass      = "*******";    //密码 $db_qianzhui  = "sdb_";      /

mssql server 数据库存储过程转换成mysql数据库(1/2)

mssql server 数据库教程存储过程转换成mysql教程数据库 DELIMITER $$ DROP PROCEDURE IF EXISTS ChangeSequence$$ CREATE PROCEDURE ChangeSequence ( _sign INT ,-- 0: 上移 1:下移  TableName VARCHAR(50) ,-- 表名  ItemName VARCHAR(50) ,-- 主键字段名  ItemID INT , -- 主键ID  SortName VARCHA

修改MySQL的数据库引擎为INNODB的方法_Mysql

对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎.如果你要使用全文索引,那必须使用myisam. INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的.修改MySQL的引擎为INNODB,可以使用外键,事务等功能,性能高.本文主要介绍如何修改MySQL数据库引擎为INNODB,接下来我们开始介绍. 首先修改my.ini,在[mysqld]下加上: default-storage-engine=INNODB 其中的蓝色字体是

MySQL数据库备份(转)

mysql|备份|数据|数据库 MySQL数据库备份[晏子]  http://clyan.hongnet.com/index.html在数据库表丢失或损坏的情况下,备份你的数据库是很重要的.如果发生系统崩溃,你肯定想能够将你的表尽可能丢失最少的数据恢复到崩溃发生时的状态.有时,正是MySQL管理员造成破坏.管理员已经知道表以破坏,用诸如vi或Emacs等编辑器试图直接编辑它们,这对表绝对不是件好事!备份数据库两个主要方法是用mysqldump程序或直接拷贝数据库文件(如用cp.cpio或tar等