数据库技术高质量面试总结

数据库相关面试

  • MySQL性能如何进行优化?
  • MySQL慢查询的优化方式?
  • 索引有几种类型?
  • 讲一讲MySQL中的聚集索引,非聚集索引以及索引结构?
  • 索引有几种扫描方式?
  • 数据库中的索引应该如何使用?应该在何时使用?
  • union和union all有什么区别?
  • innodb引擎和myisam引擎的区别?
  • MySQL有几种隔离级别,默认的隔离级别是什么,讲一讲实现原理?
  • MySQL数据库中虚读和幻读是什么意思?发生在什么地方?
  • MySQL的事务隔离级别?
  • 讲一讲数据库中的的B树,B+树以及红黑树?
  • 讲一讲MySQL数据库中各种树的特性?
  • 数据库中的分页查询是如何分页的?怎么实现的?
  • 讲一讲数据库中的执行计划?
  • 讲一讲count(1)和count(*)的使用区别?
  • 举例说明SQL的基本优化方式?
  • 讲一讲MVCC和事务隔离级别的关系?
  • 讲一讲MySQL中的间隙锁和行锁的基本使用?
  • 讲一讲唯一索引和普通索引的区别中的changeBuffer?
  • 讲一讲数据库中的页分裂和页合并?
  • MySQL行锁的最大并发数?
  • MySQL中有哪几种锁?
  • 表级锁: 开销小,加锁快. 不会出现死锁. 锁的粒度大,发生锁冲突的概率最高,并发度最低
  • 行级锁: 开销大,加锁慢. 会出现死锁. 锁的粒度小,发生锁冲突的概率最低,并发度最高
  • 页面锁: 开锁和加锁时间介于表锁和行锁之间,会出现死锁. 锁的粒度介于表锁和行锁之间,并发度一般
  • MySQL中有哪些不同的表?
  • MyISAM
  • Heap
  • Merge
  • InnoDB
  • ISAM
  • MySQL数据库中MyISAM和InnoDB的区别?
  • MyISAM:
    • 不支持事务.每次查询都是原子的
    • 支持表级锁,每次操作都是对整个表加锁
    • 存储表的总行数
    • 一个MyISAM表由三个文件组成: 索引文件,表结构文件和数据文件
    • 采用非聚集索引: 索引文件的数据域存储指向数据文件的指针.辅助索引和主索引基本一致,但是辅助索引不用保证唯一性
  • InnoDB:
    • 支持ACID事务,支持事务的四种隔离级别
    • 支持行级锁和外键约束,可以支持写并发
    • 不存储总行数
    • 一个InnoDB存储引擎可以存储在一个表空间,共享一个表空间,表大小不受操作系统控制,一个表可能分布在多个文件里.一个InnoDB存储引擎也可以存储在多个表空间,设置为独立表空,表大小受操作系统文件大小限制,一般为2G,受操作系统文件大小的限制
    • 主键索引采用聚集索引:索引的数据域存储数据本身.辅索引的数据域存储主键的值.这样从辅索引查找数据,需要首先通过辅索引主键值,然后访问主索引.推荐使用自增主键,防止插入数据时,为了维持B+树结构,文件的大幅调整
  • MySQL中InnoDB支持的四种事务隔离级别:
  • read uncommitted : 读未提交
  • read committed : 不可重复读
  • repeatable read : 可重复读
  • serializable : 串行化
  • CHAR和VARCHAR的区别?
  • CHAR类型和VARCHAR类型在存储和检索查询方面存在区别
  • CHAR列长度固定为创建表时声明的长度,长度范围为1到255.CHAR值存储时,使用空格填充到特定的长度,检索CHAR值需要删除尾随的空格
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

攻城狮Chova

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值