标签:结构 执行 int nes 管理 char def pre 需要
MySQL存储引擎默认的存储引擎:
-MySQL 5.0/5.1 ---> MyISAM
-MySQL 5.5/5.6 ---> InnoDB
列出可用的存储引擎类型:
格式:SHOW ENGINES;
或SHOW ENGINES\G
修改表的存储引擎:
建表时,使用默认存储引擎。
-SHOW CREATE TABLE xxx\G; 可查看
例:
mysql>create table ku.abc(
>id int(4),
>name char(5)
>) engine=innodb;
mysql>show create table ku.abc\G;
更改现有表的存储引擎:
-使用ALTER TABLE 改变引擎设置。
mysql>alter table ku.abc engine=myisam;
msyql>show create table ku.abc\G;
设置默认存储引擎:
修改配置文件/etc/my.cnf
vim /etc/my.cnf
[mysqld]
....
default-storage-engine=InnoDB
service mysql restart
存储引擎的特点
MyISAM存储引擎的主要热点:
1.支持表级锁定,不支持行级锁定。
2.不支持事务
3.不享表空间
4.多用在查询、插入操作较多的表。
相关的表文件:
表.MYI 存放索引信息
表.MYD 存放数据
表.frm 存放表结构
InnoDB存储引擎主要特点:
1.支持表级/行级锁定
2.支持事务、事务回滚、支持外键
3.共享表空间
注释:
锁的作用:解决并发访问冲突问题。
事务: 一次数据访问从开始到结束的过程 称为事务
事务回滚: 一次数据访问 任意一步执行失败,恢复所有操作。
事务的特性: 一致性 原子性 隔离性
事务日志文件:记录对innodb存储引擎的表执行过的操作。
相关的表文件:
表.frm 存放表结构
表.ibd 存放索引信息+数据
ibdsta1
ib_logfile0 、ib_logfile1
接收写操作多的表适合使用innodb存储引擎。
接收读操作多的表适合使用myisam存储引擎。
锁粒度:
1.表级锁:一次直接对整张表进行加锁。
2.行级锁:只锁定某一行
3.页级锁:对整个页面(MySQL管理数据的基本存储单位)进行加锁。
锁类型:
1.读锁(共享锁):支持并发读。
2.写锁(互斥锁、排它锁):是独占锁,上锁期间其它线程不能读表或写表。
查看当前的锁状态:
-检查Table_lock开头的变量,%作通配符。
mysql>SHOW STATUS LIKE "Table_lock%"
标签:结构 执行 int nes 管理 char def pre 需要
原文地址:http://blog.51cto.com/13399294/2066614