Java研发面试题集:mysql 中 myisam 与 innodb 的区别?
Java研发面试题集:myisam和innodb、mysql有什么区别? ?执行时涉及的步骤有:语法检查、语义分析、编译和缓存。 ②。外键约束影响插入和删除性能。如果程序能够保证数据的完整性,那么在设计数据库时就会去掉外键。 ③。表中允许适当的冗余,例如主题的响应次数、最后响应时间等。 ④。 UNION ALL 比 UNION 快很多,所以如果能确认两个合并的结果集不包含重复数据且不需要排序,就使用 UNION ALL。 >>UNION 和 UNION ALL 关键字将两个结果集合并为一个,但它们在用法和效率上有所不同。 >1.处理重复结果:UNION在表连接后过滤掉重复记录,Union All不会删除重复记录。 >2.排序处理:Union会按照字段的顺序进行排序; UNION ALL 只是简单地组合两个结果并返回它们。
2。 myisam和innodb、mysql有什么区别?
- ①。事务支持 > MyISAM:重点是性能。每个查询都是原子的,其执行时间比 InnoDB 类型更快,但不提供事务支持。 > InnoDB:提供事务支持、外键等高级数据库功能。具有提交、回滚和崩溃恢复功能的事务安全(符合 ACID)表。
- ②。 InnoDB支持行级锁,而MyISAM支持表级锁。 >> 当用户操作myisam表时,select、update、delete、insert语句会自动锁定该表。如果锁定的表满足插入竞争的要求,则可以在表的末尾插入新数据。
- ③。 InnoDB支持MVCC,但MyISAM不支持
- ④。 InnoDB支持外键,但MyISAM不支持
- ⑤。表主键 > MyISAM:允许没有索引和主键的表存在,索引是行存储的地址。 > InnoDB:如果未设置主键或非空唯一索引,则自动生成6字节主键(用户不可见)。数据是主索引的一部分,附加索引存储主索引的值。
- ⑥。 InnoDB不支持全文索引,但MyISAM支持。
- ⑦。便携性、备份和恢复 > MyISAM:数据以文件的形式存储,非常方便跨平台的数据传输。备份和恢复时,可以单独对表进行操作。 > InnoDB:免费的解决方案可以是复制数据文件,使用备份binlog或者mysqldump,当数据量达到几十G
- ⑧时相对比较痛苦。存储结构>MyISAM:所有MyISAM都存储在磁盘上。三个文件。第一个文件的名称以表的名称开头,扩展名表示文件类型。 .frm 文件存储表定义。数据文件扩展名为.MYD (MYData)。索引文件扩展名为.MYI (MYIndex)。 > InnoDB:所有表都存储在同一个数据文件中(可以是多个文件,也可以是独立的表空间文件)。 InnoDB表的大小仅受操作系统文件大小的限制,一般为2GB。
3。 MySQL 中的 InnoDB 引擎完成(或实现)的行锁定是什么?
InnoDB行锁定是通过锁定索引中的索引条目来实现的。这与MySQL不同,MySQL是通过锁定数据块中相应的数据行来实现的。 InnoDB的行锁实现特性意味着InnoDB仅在通过索引条件检索数据时才使用行级锁。否则InnoDB将使用表锁!
版权声明
本文仅代表作者观点,不代表Code前端网立场。
本文系作者Code前端网发表,如需转载,请注明页面地址。
发表评论:
◎欢迎参与讨论,请在这里发表您的看法、交流您的观点。