文章目录
-
- MySQL中有哪些存储引擎?
- MyISAM和InnoDB的区别是什么?
- 请概述下数据库的范式设计
- 数据库表设计时,字段你会如何选择?
- mysql里记录货币用什么字段类型好?
- 谈谈MySQL里的字符串类型
- VARCHAR(M)最多能存储多少数据?
- 什么是虚拟生成列?
- 请说下事务的基本特性
- 事务并发可能引发什么问题?
- 请描述下MySQL中InnoDB支持的四种事务隔离和区别
- MySQL有哪些索引类型
- 简单描述MySQL各个索引的区别
- MySQL的索引对数据库的性能有什么影响
- 为什么MySQL的索引要使用B+树而不是B树?
- InnoDB一棵B+树可以存放多少行数据?
- HashMap适合做数据库索引吗?
- InnoDB中只有B+树索引吗?
- 什么是密集索引和[稀疏索引]()?
- 为什么要用自增列作为主键?
- 主键和唯一键有什么区别?
- 说说对SQL语句优化有哪些方法?(选择几条)
- 如何提高insert的性能?
- 什么是覆盖索引?什么是回表查询?
- 什么是三星索引?
- 大表关联查询优化
- [SELECT *] 和[SELECT 全部字段]有何优缺点?
- 请概述下什么是MySQL的分区表
- 说几条MySQL对SQL的执行做的优化手段
- InnoDB引擎的三大特性是什么?
- redolog和binlog的区别是什么?
- MySQL崩溃后的恢复为什么不用binlog?
- MySQL如何实现事务的ACID?
- InnoDB事务是如何通过日志来实现的?
- 什么是当前读和快照读?
- 什么是MVCC?
- MVCC的底层实现原理是什么?
- 什么是锁?MySQL 中提供了几类锁?
- 什么是全局锁、共享锁、排它锁?
- MySQL中的表锁有哪些?
- InnoDB引擎的行锁是怎么实现的?
- 谈一下MySQL中的死锁
- 简述下MySQL8中的新增特性有哪些
MySQL中有哪些存储引擎?
InnoDB存储引擎
InnoDB是MySQL的默认事务型引擎,也是最重要、使用最广泛的存储引擎。它被设计用来处理大量的短期(short-lived)事务,应该优先考虑InnoDB引擎。
MylSAM存储引擎
在MySQL 5.1及之前的版本,MyISAM是默认的存储引擎。MyISAM提供了大量的特性,包括全文索引、压缩、空间函数(GIS)等,但MyISAM不支持事务和行级锁,而且崩溃后无法安全恢复。MyISAM对整张表加锁,很容易因为表锁的问题导致典型的的性能问题。
Mrg_MylSAM
Merge存储引擎,是一组MyIsam的组合,也就是说,他将MyIsam引擎的多个表聚合起来,但是他的内部没有数据,真正的数据依然是MyIsam引擎的表中,但是可以直接进行查询、删除更新等操作。
Archive引擎
Archive存储引擎只支持INSERT和SELECT操作,会缓存所有的写并利用zlib对插入的行进行压缩,所以比MyISAM表的磁盘I/O更少。但是每次SELECT查询都需要执行全表扫描。所以Archive表适合日志和数据采集类应用,Archive引擎是一个针对高速插入和压缩做了优化的简单引擎。
Blackhole引擎
Blackhole