概述
- 关系型和非关系型数据库的区别你了解多少?
- 什么是非关系型数据库
- MySQL中CHAR和VARCHAR的区别有哪些?
- varchar(10) 和 varchar(20) 的区别?
- 说一下MySQL是如何执行一条SQL的?具体步骤有哪些?
- 你了解MySQL的内部构造吗?一般可以分为哪两个部分?
- 一条SQL更新语句是如何执行的?
- 说一说Drop、Delete与Truncate的共同点和区别
- SQL中的NOW()和CURRENT_DATE()两个函数有什么区别?
- SQL 与 MySQL 有什么区别?
- UNION 与 UNION ALL 的区别
- 数据库中的主键、超键、候选键、外键是什么?
- SQL语法中内连接、自连接、外连接(左、右、全)、交叉连接的区别分别是什么?
- 数据库union join的区别
- 数据库的三大范式是什么?
- 为什么要分表分库?分表分库有什么问题?
- 谈谈你对数据库读写分离的理解?
- 谈谈你对数据库读写分离的理解?如何实现?
- 主从复制涉及了哪些线程?
- 主从同步的延迟原因及解决办法?
- MySQL优化了解吗?说一下从哪些方面可以做到性能优化?
- 查询性能的优化方法?
- MySQL 问题排查都有哪些手段?
- MySQL常见的存储引擎InnoDB、MyISAM的区别?适用场景分别是?
- 你知道哪些数据库结构优化的手段?
- 数据库高并发是我们经常会遇到的,你有什么好的解决方案吗?
- 一道场景题:假如你所在的公司选择MySQL数据库作数据存储,一天五万条以上的增量,预计运维三年,你有哪些优化手段?
-
索引
为什么使用索引?
- 索引如何提高查询速度的?
- 谈谈你对索引的理解
- 添加索引的原则
- 什么时候需要建立数据库索引呢?
- 索引底层使用的什么数据结构?MySQL索引主要使用的两种数据结构是什么?
- 为什么说B+tree比B 树更适合实际应用中操作系统的文件索引和数据库索引?
- 谈谈你对 B+ 树的理解?
- 为什么MySQL索引要使用B+树,而不是B树或者红黑树或哈希表?
- 既然索引有那么多优点,为什么不对表总的每一列创建一个索引呢?
- 文件索引和数据库索引为什么使用B+树?
- 增加B+树的路数可以降低树的高度,那么无限增加树的路数是不是可以有最优的查找效率?
- Mysql有四种索引类型,分别是什么?
- 索引的分类有哪些?
- 谈谈你对聚簇索引的理解?
- 什么是非聚合索引?
- 聚集索引与非聚集索引的区别是什么?
- 覆盖索引是什么?
- MyISAM和InnoDB实现B树索引方式的区别是什么?
- 索引的作用?
- 创建索引是要注意什么?使用索引注意什么?
- 谈谈你对哈希索引的理解?
- 谈谈你对最左前缀原则的理解?
- 怎么知道创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
- 什么情况下索引会失效?即查询不走索引?
-
事务
事务四大特性(ACID)是什么?
- 数据库并发事务会带来哪些问题?
- 不可重复读和幻读区别是什么?可以举个例子吗?
- 数据库隔离级别
- 有哪些事务状态?
- 谈谈你对MVCC 的了解
- MySQL中为什么要有事务回滚机制
- 听说过视图吗?那游标呢?
- 视图的作用是什么?可以更改吗?
- 关系型数据库的四大特性在得不到保障的情况下会怎样?
- 数据库如何保证一致性?
- 数据库如何保证原子性?
- 数据库如何保证持久性?
MySQL的redo log,undo log,bin log都是干什么的
锁
说一下数据库表锁和行锁吧
- 什么是死锁?如何解决死锁?
- 什么是乐观锁和悲观锁?如何实现?
- 数据库锁的种类,加锁的⽅式