码迷,mamicode.com
首页 > 数据库 > 详细

Mysql存储引擎 MyISAM和InnoDB

时间:2018-07-07 18:00:14      阅读:203      评论:0      收藏:0      [点我收藏+]

标签:size   cal   shadow   级别   阻塞   要求   技术   相互   比较   

存储引擎介绍
  • Mysql存储引擎

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

标签:size   cal   shadow   级别   阻塞   要求   技术   相互   比较   

原文地址:http://blog.51cto.com/13660858/2138528

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!