`

mysql中 的 ENGINE = innodb(或者myisam);

阅读更多

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中engine=innodb和engine=myisam的区别介绍

    MyISAM类型不支持事务处理等高级处理,而InnoDB类型支持,本文为大家讲解下mysql中engine=innodb和engine=myisam的区别,不懂的朋友可以学习下,希望对大家有所帮助

    mysql更改引擎(InnoDB,MyISAM)的方法

    本文实例讲述了mysql更改引擎(InnoDB,MyISAM)的方法,分享给大家供大家参考。具体实现方法如下: mysql默认的数据库引擎是MyISAM,不支持事务和外键,也可使用支持事务和外键的InnoDB。 查看当前数据库的所支持的...

    MyISAM引擎与InnoDB引擎性能的对比

    MyISAM引擎与InnoDB引擎性能的对比

    MYSQL中 TYPE=MyISAM 错误的解决方法

    TYPE=MyISAM 和 ENGINE=MyISAM 都是设置数据库存储引擎的语句 ,(老版本的MySQL使用TYPE而不是ENGINE(例如,TYPE = MYISAM)。 MySQL 5.1为向下兼容而支持这个语法,但TYPE现在被轻视,而ENGINE是首先的用法。 一般...

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

    对于MySQL数据库,如果你要使用事务以及行级锁就必须使用INNODB引擎。如果你要使用全文索引,那必须使用myisam。 INNODB的实用性,安全性,稳定性更高但是效率比MYISAM稍差,但是有的功能是MYISAM没有的。修改MySQL...

    解决mysql5中文乱码问题的方法

    MySQL5的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin 代码...3.用SQL建立表中 代码如下:ENGINE=MyISAM DEFAULT CHARSET=gbk; ENGINE=InnoDB DEFAULT CHARSET=gbk AUTO_INCREMENT=40 ; 4.检查表结构中 varchar

    MYSQL无法启动提示: Default storage engine (InnoDB) is not available的解决方法

    自己用的MYSQL都是用MYISAM数据库,还没涉及到需要INNODB,因此打算直接不加载INNODB引擎。

    MySQL 5.0.16乱码问题的解决方法

    怎样解决MySQL 5 0 16的乱码问题? 本文给出了解决方法: 问:怎样解决MySQL 5.0.16的乱码问题? 答:MySQL 5.0.16的乱码问题可以用下面的方法解决: 1.设置phpMyAdmin Language:Chinese ...ENGINE=InnoDB DEFAUL

    MySQL slow_log表无法修改成innodb引擎详解

    背景 从mysql.slow_log 获取慢查询日志很慢,该表是csv表,没有索引。 想添加索引来加速访问,而csv引擎不能添加索引(csv...mysql> alter table mysql.slow_log engine=innodb; ERROR 1579 (HY000): This storage e

    windows无法启动MySQL服务报错1067的解决方法

    1、打开my.ini文件,找到default-storage-engine=InnoDB这一行,把它改成default-storage-engine=MyISAM。 2、删除在MySQL安装目录下的Data目录中的ib_logfile0和ib_logfile1 3、找到在配置MySQL服务器时指定的...

    有关mysql的一些小技巧

    把内存空出来,建一张没有任何索引的MyISAM表,然后只管插入吧,concurrent_insert=2,在文件末尾并发插入,速度刚刚 的,插入完成后,ALTER TABLE把索引加上,记得还有ENGINE=InnoDB,就把MyISAM转到InnoDB了,这样...

    MYSQL 浅谈MyISAM 存储引擎

    做为Mysql的默认存储引擎,myisam值得我们学习一下,以下是我对《高性能MYSQL》书中提到的myisam的理解,请大家多多指教。    特点   > 不支持事务    证明如下:  >> 表记录:t2表的engine是myisam。    >> ...

    MySQL禁用InnoDB引擎的方法

    查看MySQL版本 代码如下:mysql -V或者可以登录MySQL使用select version();或status;命令查看 二、开始工作 关闭MySQL 代码如下:service mysql stop如果上面的命令无法关闭MySQL,则使用kill -9命令强制杀掉进程; ...

    MySQL启动时InnoDB引擎被禁用了的解决方法

    Unknown table engine 'InnoDB' 于是在服务器 MySQL 中查看了引擎: mysql> show engines\G 得到: *************************** 1. row *************************** Engine: MyISAM Support: DEFAULT Comment...

    MySQL存储引擎简介及MyISAM和InnoDB的区别

    注意,通过更改 STORAGE_ENGINE 配置变量,能够方便地更改MySQL服务器的默认存储引擎。 InnoDB:用于事务处理应用程序,具有众多特性,包括ACID事务支持。 BDB:可替代InnoDB的事务引擎,支持COMMIT、ROLLBACK和其他...

    mysql数据库my.cnf配置文件

    # 如果某个内部heap(堆积)表大小超过tmp_table_size,MySQL可以根据需要自动将内存中的heap表改为基于硬盘的MyISAM表。还可以通过设置tmp_table_size选项来增加临时表的大小。也就是说,如果调高该值,MySQL同时将...

    PHP中PDO事务处理操作示例

    MySQL常用的表类型:MyISAM(非事务)增删改速度快、InnodB(事务型)安全性高 更改表的类型为innoDB类型 mysql> alter table stu engine=innodb; 使用: 在PDO预处理的基础上添加,如下格式: try{ $m->begin...

    将MySQL从MyISAM转换成InnoDB错误和解决办法

    后来在做WordPress,一开始还不知道原来WordPress用的是InnoDB数据引擎,于是在原来的数据库里面就建了一个数据库,一开始也没发觉问题,安装,导入sql,都没问题,当时也没多想。直到这几天因为又要装多一个...

    Codeigniter-login-auth-admin

    '0') DEFAULT '1' COMMENT '1:激活 0:禁用', del enum('0','1') DEFAULT '0' COMMENT '1:删除', role tinyint(2) DEFAULT NULL, PRIMARY KEY (id) ) ENGINE=InnoDB AUTO_INCREMENT=10 DEFAULT CHARSET=utf8;...

    MySQL安全设置图文教程

    代码如下: 解压mysql到d:\mysql,编辑my.ini [mysqld] port=3306 basedir=”D:/mysql/” datadir=”D:/mysql/Data/” tmpdir=”d:/mysql/tmp/” default-character-set=utf8 default-storage-engine=MYISAM skip-bdb...

Global site tag (gtag.js) - Google Analytics