本文主要是介绍八股文打卡day33——数据库(10),希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
面试题:MySQL中存储引擎的了解?
我的回答:
1.InnoDB存储引擎,是MySQL5.5之后的默认存储引擎。
①InnoDB支持事务
②InnoDB支持外键约束
③InnoDB支持行级锁定,支持高并发场景下的读写。
④数据和索引都存储在B+树的叶子节点中,只要命中叶子节点,就可以找到对应的数据。
⑤InnoDB提供了数据库崩溃恢复的能力,因为有redo log日志,如果数据库发生崩溃,可以通过重做存储的修改操作(insert、update、delete)来恢复数据。
2.MyIASM存储引擎,是之前MySQL的默认存储引擎。
①MyIASM读取速度快
②MyIASM不支持外键约束
③MyIASM不支持事务。
④数据存在.MyD文件中,索引存储在MyI文件中,数据和索引是分开存储的
⑤MyIASM支持表级锁定,不支持行级锁定,进行写操作时会锁定整张表,影响并发写的性能。
3.Memery存储引擎。
①数据保存在内存RAM中,读取速度快,但是服务器崩溃或者重启,数据会丢失。所以适合存储一些临时表和不重要的数据。
根据不同存储引擎的特点,他们分别适合不同的场景:
1.在高并发、高性能场景下,需要事务支持的,使用InnoDB存储引擎合适。
2.读操作比较多的,不需要事务支持的场景下,使用MyIASM存储引擎合适。
3.存储和操作一些临时表和不重要数据、速度要求比较高的场景下,使用memery存储引擎。
回答时间:2024.03.16
这篇关于八股文打卡day33——数据库(10)的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!