02-MySQL 实战 基础
2022-03-22 13:55:25 4 举报
AI智能生成
以思维导图的形式,汇总 【MySQL 实战基础】相关的面试点
作者其他创作
大纲/内容
数据库的三大范式?
主键和外键有什么区别?
什么是存储过程?有哪些优缺点?
超键、候选键、主键、外键分别是什么?
基本概念
MyISAM 和 InnoDB 的区别有哪些
支持哪些存储引擎?
存储引擎
MySQL中int(10)和char(10)和varchar(10)的区别?
varchar和char的区别?
列 约束有哪几种?
定点数
浮点型
整型
数值类型
字符串类型
枚举和集合
日期时间类型
数据类型
ASCII、GB2312、GBK、UTF-8.
常见字符集
什么是字符集
默认 UTF-8
UTF-8、GB2312、GBK、BIG5
MySQL
字符集
优先选择符合存储需要的最小的数据类型
字段为什么要设置成not null?
避免使用 ENUM 类型
使用 TIMESTAMP(4 个字节) 或 DATETIME 类型 (8 个字节) 存储时间
同财务相关的金额类数据必须使用 decimal 类型
字段设计规范
数据库设计通常分为哪几步?
概念
整体设计
基础语法
MySQL数据库cpu飙升到500%的话如何进行处理?
SQL语句执行的很慢原因是什么?
百万级数据如何删除?
超链接
何批量删除大量数据?
大表数据查询如何进行优化?
大表操作
如何迁移历史数据
Online DDL的过程
DML、 DDL 、DQL
子主题 1
drop、delete和truncate
分支主题
为什么给小表加字段也会出事故 MDL
理论
一张大表怎么更改表的数据结构,字段,用alter会有什么问题,怎么解决呢,有什么好的方案,双写的话会有什么问题,还有其他方案么
onlineDDL 之前检查效率问题
使用说明
开源框架 gh-ost
如果你要变更的表是一个热点表,虽然数据量不大,但是上面的请求很频繁,而你不得不加个字段,你该怎么做呢?
怎么加?
小表更改数据结构
online DDL 会有哪些问题?
一些问题
实战
online DDL
场景
如何创建/删除索引?
联合索引第一个字段用范围不会走索引
最左前缀索引?
覆盖索引
like KK% 一般情况都会走索引
为什么范围查找Mysql没有用索引下推优化?
索引下推?
主键vs非主键
唯一vs普通
各种索引的区别
创建索引原则
普通索引和唯一索引该怎么选择
优化器是怎么得到的?
如何查看
是什么?
1、基数
2、重新统计索引信息
索引选择原理
3、新建索引
2、修改语句使之走索引
1、强制选择索引
索引选择异常和处理
3、隐式字符编码转换?
2、隐式类型转换?
1、条件字段函数操作?
不走索引情况
怎么给字符串字段加索引?
索引
Extra
ref列
rows列
key_len列
type列
id列
Expalin
锁优化建议
死锁和死锁检测
死锁
什么是数据库的乐观锁和悲观锁,如何实现?
锁
优化慢查询
慢查询日志
慢查询
常用优化方案
超大分页怎么处理?
LIMIT 优化
union执行流程?
原理
UNION和UNION ALL的区别?
UNION
WHERE
Simple Nested-Loop Join
Block Nested-Loop Join
Index Nested-Loop Join
执行流程
Join实现
如果有两个大小不同的表做 join,应该用哪个表做驱动表呢?
我们 DBA 不让使用 join,使用 join 有什么问题呢?
Exlpain
Left Join 和Inner Join的区别
Join 优化
count(字段)<count(主键 id)<count(1)≈count(*),所以我建议你,尽量使用 count(*)
count
是什么?什么时候会使用到临时表,什么时候删除临时表?
内存临时表?磁盘临时表
为什么临时表可以重名?
临时表
区别
in和exists优化
group by 执行流程?
group by 实现原理?
group by 优化?
缺点
Using filesort
临时文件
全字段排序
全字段排序 VS rowid 排序
rowid 排序
order by 优化
自增主键为什么不是连续的?
有没有什么场景适合用业务字段直接做主键的呢?
为什么通常用自增主检做索引?
主键一般用自增ID还是UUID?
自增值改变的时机?为什么 MySQL 在事务回滚的时候不能回收自增 id?
主键?
SQL优化
MySQL New
0 条评论
下一页