mysql中 的 ENGINE = innodb; 是什么意思
如果你想使用外键,事务等功能,记得用innodb引擎。使用方法是create table xxx()engine=innodb;如果想所有建立的表格都用innodb引擎,可以把“default-storage-engine=INNODB”加到/etc/mysql/my.cnf(位置可能不同)。设完之后就可以用“show engines;”检查是否设置好。不过据说该设置在5.0.22下可能无效。
mysql中engine=innodb和engine=myisam的区别
MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持。
MyISAM类型的表强调的是性能,其执行数度比InnoDB类型更快,但是不提供事务支持,
而InnoDB提供事务支持已经外部键等高级数据库功能。这 样就可以根据数据表不同的用处是用不同的存储类型。
MyISAM:这个是默认类型,它是基于传统的ISAM类型,ISAM是Indexed Sequential Access Method (有索引的 顺序访问方法) 的缩写,它是存储记录和文件的标准方法.与其他存储引擎比较,MyISAM具有检查和修复表格的大多数工具. MyISAM表格可以被压缩,而且它们支持全文搜索.它们不是事务安全的,而且也不支持外键。如果事物回滚将造成不完全回滚,不具有原子性。如果执行大量 的SELECT,MyISAM是更好的选择。
InnoDB:这种类型是事务安全的.它与BDB类型具有相同的特性,它们还支持外键.InnoDB表格速度很快.具有比BDB还丰富的特性,因此如果需要一个事务安全的存储引擎,建议使用它.如果你的数据执行大量的INSERT或UPDATE,出于性能方面的考虑,应该使用InnoDB表,
对于支持事物的InnoDB类型的标,影响速度的主要原因是AUTOCOMMIT默认设置是打开的,而且程序没有显式调用BEGIN 开始事务,导致每插入一条都自动Commit,严重影响了速度。可以在执行sql前调用begin,多条sql形成一个事物(即使autocommit打 开也可以),将大大提高性能。
分享到:
相关推荐
本文实例讲述了mysql更改引擎(InnoDB,MyISAM)的方法,分享给大家供大家参考。具体实现方法如下: mysql默认的数据库引擎是MyISAM,不支持事务和外键,也可使用支持事务和外键的InnoDB。 查看当前数据库的所支持的...
若想将不支持事务的MyISAM表转换为InnoDB,可以使用`ALTER TABLE tablename ENGINE = InnoDB`,数据不会丢失,但请注意,InnoDB表不能使用`REPAIR TABLE`命令或`myisamchk -r`工具,而是需依赖`CHECK TABLE`或`mysql...
MySQL数据库系统提供了多种存储引擎,其中最常用的两种是MyISAM和InnoDB。它们各自具有独特的特性和适用场景,理解二者的性能差异对于优化数据库设计至关重要。 MyISAM引擎是MySQL早期的默认存储引擎,以其高速度和...
如果InnoDB不在列表中或者状态为"DISABLED",则说明InnoDB未启用或已禁用。 2. **检查日志文件**: MySQL的错误日志会记录所有运行时的问题。通过`SHOW VARIABLES LIKE '%error%';`命令找到错误日志文件的位置,...
MyISAM和InnoDB是MySQL中最常见的两种存储引擎,它们各有优缺点。MyISAM以其轻量级、快速的查询性能和较小的内存占用受到青睐,但它不支持事务处理和行级锁定,这意味着在并发操作下可能会出现数据一致性问题。而...
在使用MySQL数据库进行表结构创建或修改的过程中,有时可能会遇到这样的错误提示:“MySQL server version for the right syntax to use near 'type=InnoDB' at line 1”。这个错误通常表明在SQL语句中使用的语法与...
本文将详细介绍如何在MySQL中启用InnoDB存储引擎,并对比分析InnoDB与其他存储引擎(如MyISAM)之间的主要差异。 #### 二、InnoDB简介 InnoDB是MySQL数据库的一种默认存储引擎,自MySQL 5.5版本开始,默认启用...
### MySQL无法启动提示:“Default storage engine (InnoDB) is not available”的解决方法 #### 背景介绍 MySQL是一款广泛使用的开源关系型数据库管理系统。它提供了多种存储引擎,包括MyISAM、InnoDB等,每种引擎...
2. 修改MySQL配置文件(通常是my.ini),取消default-storage-engine=INNODB前的注释(删除#),并确保skip-innodb这行被注释掉(添加#)。 3. 保存配置文件,然后重启MySQL服务。 MyISAM和InnoDB的主要区别在于: ...
在 MySQL 中启用和配置 InnoDB 引擎非常简单,可以通过配置文件或命令行完成: - **设置 InnoDB 为默认存储引擎**:`SET DEFAULT_STORAGE_ENGINE=INNODB;` - **创建 InnoDB 表**: ```sql CREATE TABLE users ( ...
从MySQL 5.5开始,InnoDB成为默认的存储引擎,但在更早的版本中,MyISAM可能是默认的。 2. **验证引擎支持**:在MySQL命令行客户端中运行`SHOW ENGINES;`,这将列出所有可用的存储引擎及其状态。如果InnoDB显示为...
在MySQL中,MyISAM和InnoDB是最常见的两种存储引擎,它们各自有独特的特性和适用场景。 首先,我们来看一下MySQL默认存储引擎的变迁。在MySQL 5.1之前的版本,MyISAM是默认的存储引擎,它以快速读取和较小的内存...
对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam。 INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的。修改MySQL...
在文档描述的案例中,用户遇到了“Unknown/unsupported storage engine: InnoDB”的错误,这通常意味着 MySQL 服务器无法识别或不支持 InnoDB 存储引擎。 解决这个问题通常涉及以下步骤: 1. **确认 InnoDB 支持**...
1. **InnoDB分区表的间隙锁行为**:在InnoDB引擎中,由于分区表被视为多个独立的表,间隙锁的处理也会有所不同。例如,如果在一个分区上加了间隙锁,不会影响其他分区的数据,因此在不同分区上的插入操作可能不会...
在MySQL的配置文件(通常是***f或my.ini)中的[mysqld]部分添加或修改default-storage-engine参数,可以设置默认存储引擎为MyISAM或InnoDB。例如,要设置为MyISAM,添加以下行: ``` default-storage-engine=MyISAM ...
MySQL5的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin 代码...3.用SQL建立表中 代码如下:ENGINE=MyISAM DEFAULT CHARSET=gbk; ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40 ; 4.检查表结构中 varchar