MySQL存储引擎MyISAM和InnoDB配置
<人力资源/>
MyISAM和InnoDB最大特点:
MyISAM:
①不支持事务。
②表级锁定形式,数据在更新时锁定整个表。
③不支持外键约束,只支持全文索引。
④数据库在读取过程中相互阻塞。
⑤数据单独写入或读取,速度较快且占用资源相对要少。
InnoDB:
①支持事务。
②行级锁定,但是全表扫描仍然会是表级锁定。
③支持分区,表空间,类似甲骨文数据库。
④读写阻塞与事务隔离级别相关。
⑤表与主键以簇的方式储存。
⑥具有非常高效的缓存特性,能缓存引索,也能缓存数据。
如何查看存储引擎:
查看MySQL默认存储引擎:
<代码> mysql>显示引擎;
+ - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
| | |评论| | XA事务支持引擎| |保存点
+ - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
| InnoDB | |支持交易违约,行级锁,和外键|是的| |是的代码>
查看MySQL支持的引擎以及默认存储引擎。
引用>
查看表正在使用的存储引擎:
方法一:
<前> <代码>从库显示表状态名,name='表名的;代码>
<代码> mysql>显示表状态从jdy name='测试';
+ - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + +
| | | |引擎版本名称Row_format | |行
+ - - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - - - + - - - - - - - - - - - - - - - - +
| |测试InnoDB 10动态| | 0 | | #表的存储引擎InnoDB 代码>
方法二:
<代码>显示创建表的表名;代码>
<代码> mysql>使用jdy;#进入查看表的数据库
数据库修改
mysql>显示创建表测试;
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| | |表创建表
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| |创建测试表“测试”(
“名称”varchar(10)默认为空,
“id”int(11)默认为空
)引擎=InnoDB的默认字符集=utf8 | #表的存储引擎InnoDB
代码>
如何修改存储引擎:
<代码> mysql>使用jdy;#进入查看表的数据库
数据库修改
mysql>显示创建表测试;
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| | |表创建表
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| |创建测试表“测试”(
“名称”varchar(10)默认为空,
“id”int(11)默认为空
)引擎=InnoDB的默认字符集=utf8 | #表的存储引擎InnoDB
#命令:alter table表名引擎=引擎;
mysql>alter table测试引擎=MyISAM;#修改表的存储引擎为MyISAM
查询好,0行影响(0.39秒)
记录:0副本:0警告:0
mysql>显示创建表测试;
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| | |表创建表
+ - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - +
| |创建测试表“测试”(
“名称”varchar(10)默认为空,
“id”int(11)默认为空
)=MyISAM引擎默认字符集=utf8 | #修改成功