数据库的事务
事务
1.mysql> unlock tables ;解锁单个的当前目录的锁
读锁:
共享锁
当前会话,不能写,可以读 不能加写锁
其他会话,不能写,可以读,可以加读锁 不能加写锁
写锁:
当前会话:
能读么 能写么 可读可写 并且能加读锁
写入得数据,其他会话能否看到?
其他会话:
能读么,能写么 不能读写
能加锁? 不能
数据库的引擎
1.MyISAM存储引擎特点:不支持事务,
InnoDB引擎特点
行级锁
支持事务,适合处理大量短期事务
读写阻塞与事务隔离级别相关
可缓存数据和索引
支持聚簇索引
崩溃恢复性更好
支持MVCC高并发
从MySQL5.5后支持全文索引
从MySQL5.5.5开始为默认的数据库引擎
InnoDB数据库文件
所有InnoDB表的数据和索引放置于同一个表空间中
数据文件:ibdata1, ibdata2,存放在datadir定义的目录下
表格式定义:tb_name.frm,存放在datadir定义的每个数据库对应的目录下
每个表单独使用一个表空间存储表的数据和索引
两类文件放在对应每个数据库独立目录中
数据文件(存储数据和索引):tb_name.ibd
表格式定义:tb_name.frm
mysql> show engine;查看存储引擎 还可以使用 show table status from centos;
mysql> show variables like '%storage%';查看默认的存储引擎