MySql中启用InnoDB数据引擎的方法
1、存储引擎是什么?
Mysql中的数据用各种不同的技术存储在文件(或者内存)中。这些技术中的每一种技术都使用不同的存储机制、索引技巧、锁定水平并且最终提供广泛的不同的功能和能力。通过选择不同的技术,你能够获得额外的速度或者功能,从而改善你的应用的整体功能。这些不同的技术以及配套的相关功能在MySQL中被称作存储引擎(也称作表类型)。MySql默认配置了许多不同的存储引擎,可以预先设置或者在MySql服务器中启用。
2、MYSQL支持的数据引擎
MyISAM:默认的MySQL插件式存储引擎,它是在Web、数据仓储和其他应用环境下最常使用的存储引擎之一。
InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。
BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他事务特性。
Memory:将所有数据保存在RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。
Merge:允许MySQL DBA或开发人员将一系列等同的MyISAM表以逻辑方式组合在一起,并作为1个对象引用它们。对于诸如数据仓储等VLDB环境十分适合。
Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。
Federated:能够将多个分离的MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。
Cluster/NDB:MySQL的簇式数据库引擎,尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。
Other:其他存储引擎包括CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。
3、启动InnoDB引擎的方法
Mysql中默认的是MyISAM数据引擎,可惜此引擎不支持事务处理,我们需要将默认的数据引擎改为InnoDB。其中InnoDB和BerkeleyDB支持事务处理,只是默认的情况下都是被disable的。所有的引擎里面,InnoDB性能最强大,算是商业级的。启动InnoDB引擎的方法如下:
1)关闭mysql的服务
2)修改my.ini
修改默认引擎:将default-storage-engine=INNODB前的注释(#)去掉
开启InnoDB引擎:将skip-innodb这行注释(加上#)
3)保存后重启mysql服务
4、MyISAM引擎和InnoDB引擎的基本差别
- MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
- MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,而InnoDB提供事务支持已经外部键等高级数据库功能。
- MyIASM是IASM表的新版本,有如下扩展:二进制层次的可移植性、NULL列索引、对变长行比ISAM表有更少的碎片、支持大文件、更好的索引压缩等
- InnoDB不支持FULLTEXT类型的索引
- InnoDB 中不保存表的具体行数
- 对于AUTO_INCREMENT类型的字段,InnoDB中必须包含只有该字段的索引,但是在MyISAM表中,可以和其他字段一起建立联合索引
- DELETE FROM table时,InnoDB不会重新建立表,而是一行一行的删除
- …………
这些区别能够影响应用程序的性能和功能,因此你必须针对业务类型来选择合适的引擎,才能最大的发挥MySQL的性能优势。
From: http://down.chinaz.com/server/201207/2090_1.htm
最新文章
- 在数据库访问项目中使用微软企业库Enterprise Library,实现多种数据库的支持
- esnext:最后一个参数后面也允许加逗号了
- 卸载PythonToolKit的方法
- 新建android项目src和layout文件夹中没有内容的问题
- WordPress插件开发记录
- sql plus 抢救数据(測)
- leetcode-2 Add Two Numbers 计算两个对应的列表和问题
- MySQL基础知识2
- 关于tomcat启动没有进行编译或者编译报错的问题
- Quartz格式设置说明
- Docker了解
- Java经典编程题50道之九
- 简述ADO.NET的连接层
- mysql数据库基于linux的安装步骤及数据库操作
- 【原创】Docker实战 Dockerfile最佳实践&;&;容器之间通信
- 转载:TCP/IP四层模型
- IIS配置,权限
- java 装饰设计模式模式
- 搭建企业级NFS网络文件共享服务说明[一]
- 简析CSRF