1、存储引擎最常见的是:Mysam 和 innoDB数据库的 engine 显示MyISAM ,批量插入速度快,不支持事务,锁表InnoDB 批量插入相对较慢,支持事务,锁行-官方文档-beginMySQL 插LL存储引擎的LL结L下述存储引擎是最常用的: MyISAM:默认的 MySQL插件式存储引擎,它是在 Web、数据仓储和其他应用环境下最常使用的存储引擎之一。注意,通过更改 STORAGE_ENGINE配置变量,能够方便地更改 MySQL服务器的默认存储引擎。 InnoDB:用于事务处理应用程序,具有众多特性,包括 ACID事务支持。 BDB:可替代 InnoDB的事务引擎,支持 COMM
2、IT、ROLLBACK 和其他事务特性。 Memory:将所有数据保存在 RAM中,在需要快速查找引用和其他类似数据的环境下,可提供极快的访问。 Merge:允许 MySQL DBA或开发人员将一系列等同的 MyISAM表以逻辑方式组合在一起,并作为 1个对象引用它们。对于诸如数据仓储等 VLDB环境十分适合。 Archive:为大量很少引用的历史、归档、或安全审计信息的存储和检索提供了完美的解决方案。 Federated:能够将多个分离的 MySQL服务器链接起来,从多个物理服务器创建一个逻辑数据库。十分适合于分布式环境或数据集市环境。 Cluster/NDB:MySQL 的簇式数据库引擎,
3、尤其适合于具有高性能查找要求的应用程序,这类查找需求还要求具有最高的正常工作时间和可用性。 Other:其他存储引擎包括 CSV(引用由逗号隔开的用作数据库表的文件),Blackhole(用于临时禁止对数据库的应用程序输入),以及 Example引擎(可为快速创建定制的插件式存储引擎提供帮助)。-end事务含义:通俗来将就是,一组操作,要么同时执行,要么同时不执行。选择存储引擎 InnoDB事务的使用:开启事务:start transaction;执行 sql 操作(结束事务)commit( 提交)/rollback(回滚/ 撤销)模拟银行转账示例:commit 示例:说明:(结束事务)com
4、mit( 提交)/rollback(回滚/ 撤销)之后,事务结束,如果需要再使用,那么需要重新开始事务;rollback 示例:事务原理:建库建表的时候 要选用 I nnoDB说明:-摘自官方文档-begin不能回滚的语句有些语句不能被回滚。通常,这些语句包括数据定义语言(DDL)语句,比如创建或取消数据库的语句,和创建、取消或更改表或存储的子程序的语句。您在设计事务时,不应包含这类语句。如果您在事务的前部中发布了一个不能被回滚的语句,则后部的其它语句会发生错误,在这些情况下,通过发布 ROLLBACK语句不能 回滚事务的全部效果。会造成隐式提交的语句以下语句(以及同义词)均隐含地结束一个事务
5、,似乎是在执行本语句前,您已经进行了一个 COMMIT。 ALTER FUNCTION, ALTER PROCEDURE, ALTER TABLE, BEGIN, CREATE DATABASE, CREATE FUNCTION, CREATE INDEX, CREATE PROCEDURE, CREATE TABLE, DROP DATABASE, DROP FUNCTION, DROP INDEX, DROP PROCEDURE, DROP TABLE, LOAD MASTER DATA, LOCK TABLES, RENAME TABLE, SET AUTOCOMMIT=1, START
6、 TRANSACTION, TRUNCATE TABLE, UNLOCK TABLES. 当当前所有的表均被锁定时,UNLOCK TABLES 可以提交事务。 CREATE TABLE, CREATE DATABASE DROP DATABASE, TRUNCATE TABLE, ALTER FUNCTION, ALTER PROCEDURE, CREATE FUNCTION, CREATE PROCEDURE, DROP FUNCTION和DROP PROCEDURE等语句会导致一个隐含提交。 InnoDB中的 CREATE TABLE语句被作为一个单一事务进行处理。这意味着,来自用户的 ROLLBACK不会撤销用户在事务处理过程中创建的 CREATE TABLE语句。事务不能被嵌套。这是隐含 COMMIT的结果。当您发布一个 START TRANSACTION语句或其同义词时,该 COMMIT被执行,用于任何当前事务。-end