面试又被MySQL虐?是不是很扎心呢?(呜呜呜~)好吧,话不多说,直接进入主题,分享一波我整理的干货,让你面试不再被虐,一起吊打MySQL!
注意注意:需要小编分享的这个55道复习必备+20个高频知识点+21性能优化实践+MySQL学习思维脑图+MySQL技术内幕 InnoDB存储引擎(PDF)及更多资料的朋友,往下看
MySQL学习思维导图
01 55道复习必备题+解析
一张表,里面有 ID 自增主键,当 insert 了 17 条记录之后,删除了第 15,16,17 条记录,再把 Mysql 重启,再 insert 一条记录,这条记录的 ID 是 18 还是 15 ?Mysql 的技术特点是什么?Heap 表是什么?Mysql 服务器默认端口是什么?与 Oracle 相比,Mysql 有什么优势?如何区分 FLOAT 和 DOUBLE?区分 CHAR_LENGTH 和 LENGTH?请简洁描述 Mysql 中 InnoDB 支持的四种事务隔离级别名称,以及逐级之间的区别?在 Mysql 中 ENUM 的用法是什么?如何定义 REGEXP?CHAR 和 VARCHAR 的区别?列的字符串类型可以是什么?如何获取当前的 Mysql 版本?Mysql 中使用什么存储引擎?Mysql 驱动程序是什么?TIMESTAMP 在 UPDATE CURRENT_TIMESTAMP 数据类型上做什么?主键和候选键有什么区别?如何使用 Unix shell 登录 Mysql?myisamchk 是用来做什么的?MYSQL 数据库服务器性能分析的方法命令有哪些?如何控制 HEAP 表的最大尺寸?MyISAM Static 和 MyISAM Dynamic 有什么区别?federated 表是什么?如果一个表有一列定义为 TIMESTAMP,将发生什么?列设置为 AUTO INCREMENT 时,如果在表中达到最大值,会发生什么情况?怎样才能找出最后一次插入时分配了哪个自动增量?你怎么看到为表格定义的所有索引?LIKE 声明中的%和_是什么意思?如何在 Unix 和 Mysql 时间戳之间进行转换?列对比运算符是什么?我们如何得到受查询影响的行数?Mysql 查询是否区分大小写?LIKE 和 REGEXP 操作有什么区别?BLOB 和 TEXT 有什么区别?mysql_fetch_array 和 mysql_fetch_object 的区别是什么?我们如何在 mysql 中运行批处理模式?MyISAM 表格将在哪里存储,并且还提供其存储格式?Mysql 中有哪些不同的表格?ISAM 是什么?InnoDB 是什么?Mysql 如何优化 DISTINCT?如何输入字符为十六进制数字?如何显示前 50 行?可以使用多少列创建索引?NOW()和 CURRENT_DATE()有什么区别?什么样的对象可以使用 CREATE 语句创建?Mysql 表中允许有多少个 TRIGGERS?什么是非标准字符串类型?什么是通用 SQL 函数?解释访问控制列表MYSQL 支持事务吗?mysql 里记录货币用什么字段类型好MYSQL 数据表在什么情况下容易损坏?mysql 有关权限的表都有哪几个?Mysql 中有哪几种锁?
55道复习必备题+解析
02 20个高频知识点
事务四大特性(ACID)原子性、一致性、隔离性、持久性?事务的并发?事务隔离级别,每个级别会引发什么问题,MySQL默认是哪个级别?MySQL常见的三种存储引擎(InnoDB、MyISAM、MEMORY)的区别?MySQL的MyISAM与InnoDB两种存储引擎在,事务、锁级别,各自的适用场景?查询语句不同元素(where、jion、limit、group by、having等等)执行先后顺序?什么是临时表,临时表什么时候删除?MySQL B+Tree索引和Hash索引的区别?sql查询语句确定创建哪种类型的索引?如何优化查询?聚集索引和非聚集索引区别?有哪些锁(乐观锁悲观锁),select 时怎么加排它锁?非关系型数据库和关系型数据库区别,优势比较?数据库三范式,根据某个场景设计数据表?数据库的读写分离、主从复制,主从复制分析的 7 个问题?使用explain优化sql和索引?MySQL慢查询怎么解决?什么是 内连接、外连接、交叉连接、笛卡尔积等?mysql都有什么锁,死锁判定原理和具体场景,死锁怎么解决?varchar和char的使用场景?mysql 高并发环境解决方案?数据库崩溃时事务的恢复机制(REDO日志和UNDO日志)?
20个MysSQL高频知识点
03 21个性能优化最佳实践
为查询缓存优化你的查询EXPLAIN你的SELECT查询当只要一行数据时使用LIMIT 1为搜索字段建索引在Join表的时候使用相当类型的例,并将其索引千万不要 ORDER BY RAND()避免 SELECT *永远为每张表设置一个 ID使用 ENUM 而不是 VARCHAR从 PROCEDURE ANALYSE() 取得建议尽可能的使用 NOT NULLPrepared Statements无缓冲的查询把 IP 地址存成 UNSIGNED INT固定长度的表会更快垂直分割拆分大的 DELETE 或 INSERT 语句越小的列会越快选择正确的存储引擎使用一个对象关系映射器(Object Relational Mapper)小心“永久链接”
21个性能优化最佳实践
04 MySQL技术内幕 InnoDB存储MySQL技术内幕 InnoDB存储引擎引擎
MySQL技术内幕 InnoDB存储引擎
重要的事情再说一遍,有需要小编在文章分享的这些MySQL资料的朋友注意啦:免费领取方式在这~
还有更多学习资料分享如下:
需要这份资料的,看这里
Spring全家桶笔记:Spring+Spring Boot+Spring Cloud+Spring MVC