《2019年小米春季上海 PHP 实习生招聘面试题》部分答案解析
myisam 只支持表级锁,用户在操作 myisam 表时,select,update,delete,insert 语句都会给表自动加锁,如果加锁以后的表满足 insert 并发的情况下,可以在表的尾部插入新的数据。也可以通过 lock table 命令来锁表,这样操作主要是可以模仿事务,但是消耗非常大,一般只在实验演示中使用。 InnoDB : Innodb 支持事务和行级锁,是 innodb 的最大特色。 事务的 ACID 属性:atomicity,consistent,isolation,durable。 并发事务带来的几个问题:更新丢失,脏读,不可重复读,幻读。 二、数据库文件差异 MyISAM : myisam 属于堆表 myisam 在磁盘存储上有三个文件,每个文件名以表名开头,扩展名指出文件类型。 .frm 用于存储表的定义 .MYD 用于存放数据 .MYI 用于存放表索引 myisam 表还支持三种不同的存储格式: 静态表 (默认,但是注意数据末尾不能有空格,会被去掉) 丶动态表丶压缩表。 InnoDB : innodb 属于索引组织表 innodb 有两种存储方式,共享表空间存储和多表空间存储 两种存储方式的表结构和 myisam 一样,以表名开头,扩展名是.frm。 (编辑:滁州站长网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |