MyISAM 读写速度快,不支持事物到处理MyISAM存储引擎是MySQL数据一块系统以前。5.5版本以前默认的存储引擎mysql
1)不支持事物 2)表级锁定形式,数据在更新时锁定整个表。 3)数据库读写过程当中相互阻塞。 4)能够经过key_buffer_size来设置缓存索引 5)数据单独写入或读取 速度快占用资源少。 6)不支持外键约束,只支持全文索引。
2) InnoDB存储引擎(mysql5.5及之后版本默认存储引擎):sql
1)支持事务,支持四个事务隔离级别。 2)行级锁定,可是全表扫描仍然会是表级锁定。 3)读写阻塞与事务隔离级别相关。 4)具备很是高效的缓存特性,能缓存索引,也能缓存数据。 5)表与主键以簇的方式存储。 6)支持分区、表空间,相似Oracle数据库。 7)支持外键约束。 8)适合对硬件资源要求比较高的场合。
由于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文件,指定存储引擎,后面跟数据库名,须要修改存储引擎的数据表名