Mysql存储引擎 MyISAM和InnoDB

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Mysql存储引擎 MyISAM和InnoDB相关的知识,希望对你有一定的参考价值。

存储引擎介绍

MyISAM 读写速度快,不支持事物处处理MyISAM存储引擎是MySQL数据一块系统之前。5.5版本之前默认的存储引擎

1)不支持事物
2)表级锁定形式,数据在更新时锁定整个表。
3)数据库读写过程中相互阻塞。
4)可以通过key_buffer_size来设置缓存索引
5)数据单独写入或读取 速度快占用资源少。
6)不支持外键约束,只支持全文索引。

2) InnoDB存储引擎(mysql5.5及以后版本默认存储引擎):

1)支持事务,支持四个事务隔离级别。
2)行级锁定,但是全表扫描仍然会是表级锁定。
3)读写阻塞与事务隔离级别相关。
4)具有非常高效的缓存特性,能缓存索引,也能缓存数据。
5)表与主键以簇的方式存储。
6)支持分区、表空间,类似Oracle数据库。
7)支持外键约束。
8)适合对硬件资源要求比较高的场合。
  • MyISAM与InnoDB的区别
    因为MyISAM相对简单所以在效率上要优于InnoDB.如果系统读多,写少。对原子性要求低。那么MyISAM最好的选择。且MyISAM恢复速度快。可直接用备份覆盖恢复。
    如果系统读少,写多的时候,尤其是并发写入高的时候。InnoDB就是首选了。
    两种类型都有自己优缺点,选择那个完全要看自己的实际类弄。

    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片
    技术分享图片

关于批量操作 支持MySQL5.5版本操作

mysqladmin -u root password abc123 //mysql 5.5 设置root密码
mysql -u root -p //输入密码进入mysql
use school; //进入school库
create table bank; //创建bank表
create table banks; //创建banks表
yum install perl-DBI -y //安装perl-DBI包
yum install perl-DBD-MySQL -y //安装perl-DBD-MySQL包
mysql_convert_table_format --host=localhost --user=root --password=abc123 --socket=/tmp/mysql.sock --engine=MyISAM school bank banks //
用mysql_convert_table_format命令,指定mysql服务器,指定用户,输入密码,指定socket文件,指定存储引擎,后面跟数据库名,需要修改存储引擎的数据表名

以上是关于Mysql存储引擎 MyISAM和InnoDB的主要内容,如果未能解决你的问题,请参考以下文章

浅谈MySQL存储引擎-InnoDB&MyISAM

Mysql存储引擎MyIsAM和InnoDB区别

MySQL数据库MyISAM和InnoDB存储引擎的比较

Mysql存储引擎 MyISAM和InnoDB

mysql存储方式MyISAM 和 InnoDB的区别

mysql存储引擎MyISAM和InnoDB