MySQL数据库面试题

本文涉及的产品
RDS MySQL DuckDB 分析主实例,集群系列 4核8GB
简介: 知己知彼百战百胜 多多学习

数据库基础知识

为什么要使用数据库
什么是SQL?
什么是MySQL?
数据库三大范式是什么
mysql有关权限的表都有哪几个
MySQL的binlog有有几种录入格式?分别有什么区别?
数据类型
mysql有哪些数据类型
引擎
MySQL存储引擎MyISAM与InnoDB区别
MyISAM索引与InnoDB索引的区别?
InnoDB引擎的4大特性
存储引擎选择
索引
什么是索引?
索引有哪些优缺点?
索引使用场景(重点)
索引有哪几种类型?
索引的数据结构(b树,hash)
索引的基本原理
索引算法有哪些?
索引设计的原则?
创建索引的原则(重中之重)
创建索引的三种方式,删除索引
创建索引时需要注意什么?
使用索引查询一定能提高查询的性能吗?为什么
百万级别或以上的数据如何删除
前缀索引
什么是最左前缀原则?什么是最左匹配原则
B树和B+树的区别
使用B树的好处
使用B+树的好处
Hash索引和B+树所有有什么区别或者说优劣呢?
数据库为什么使用B+树而不是B树
B+树在满足聚簇索引和覆盖索引的时候不需要回表查询数据,
什么是聚簇索引?何时使用聚簇索引与非聚簇索引
非聚簇索引一定会回表查询吗?
联合索引是什么?为什么需要注意联合索引中的顺序?
事务
什么是数据库事务?
事物的四大特性(ACID)介绍一下?
什么是脏读?幻读?不可重复读?
什么是事务的隔离级别?MySQL的默认隔离级别是什么?

对MySQL的锁了解吗
隔离级别与锁的关系
按照锁的粒度分数据库锁有哪些?锁机制与InnoDB锁算法
从锁的类别上分MySQL都有哪些锁呢?像上面那样子进行锁定岂不是有点阻碍并发效率了
MySQL中InnoDB引擎的行锁是怎么实现的?
InnoDB存储引擎的锁的算法有三种
什么是死锁?怎么解决?
数据库的乐观锁和悲观锁是什么?怎么实现的?
视图
为什么要使用视图?什么是视图?
视图有哪些特点?
视图的使用场景有哪些?
视图的优点
视图的缺点
什么是游标?
存储过程与函数
什么是存储过程?有哪些优缺点?
触发器
什么是触发器?触发器的使用场景有哪些?
MySQL中都有哪些触发器?
常用SQL语句
SQL语句主要分为哪几类
超键、候选键、主键、外键分别是什么?
SQL 约束有哪几种?
六种关联查询
什么是子查询
子查询的三种情况
mysql中 in 和 exists 区别
varchar与char的区别
varchar(50)中50的涵义
int(20)中20的涵义
mysql为什么这么设计
mysql中int(10)和char(10)以及varchar(10)的区别
FLOAT和DOUBLE的区别是什么?
drop、delete与truncate的区别
UNION与UNION ALL的区别?
SQL优化
如何定位及优化SQL语句的性能问题?创建的索引有没有被使用到?或者说怎么才可以知道这条语句运行很慢的原因?
SQL的生命周期?
大表数据查询,怎么优化
超大分页怎么处理?
mysql 分页
慢查询日志
关心过业务系统里面的sql耗时吗?统计过慢查询吗?对慢查询都怎么优化过?
为什么要尽量设定一个主键?
主键使用自增ID还是UUID?
字段为什么要求定义为not null?
如果要存储用户的密码散列,应该使用什么字段进行存储?
优化查询过程中的数据访问
优化长难的查询语句
优化特定类型的查询语句
优化关联查询
优化子查询
优化LIMIT分页
优化UNION查询
优化WHERE子句
数据库优化
为什么要优化
数据库结构优化
MySQL数据库cpu飙升到500%的话他怎么处理?
大表怎么优化?某个表有近千万数据,CRUD比较慢,如何优化?分库分表了是怎么做的?分表分库了有什么问题?有用到中间件么?他们的原理知道么?
垂直分表
适用场景
缺点

水平分表:
适用场景
水平切分的缺点
MySQL的复制原理以及流程
读写分离有哪些解决方案?
备份计划,mysqldump以及xtranbackup的实现原理
数据表损坏的修复方式有哪些?

Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大部分知识。
参考水兵玥

相关实践学习
每个IT人都想学的“Web应用上云经典架构”实战
本实验从Web应用上云这个最基本的、最普遍的需求出发,帮助IT从业者们通过“阿里云Web应用上云解决方案”,了解一个企业级Web应用上云的常见架构,了解如何构建一个高可用、可扩展的企业级应用架构。
MySQL数据库入门学习
本课程通过最流行的开源数据库MySQL带你了解数据库的世界。   相关的阿里云产品:云数据库RDS MySQL 版 阿里云关系型数据库RDS(Relational Database Service)是一种稳定可靠、可弹性伸缩的在线数据库服务,提供容灾、备份、恢复、迁移等方面的全套解决方案,彻底解决数据库运维的烦恼。 了解产品详情: https://www.aliyun.com/product/rds/mysql 
相关文章
|
8月前
|
缓存 NoSQL 关系型数据库
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
美团面试:MySQL有1000w数据,redis只存20w的数据,如何做 缓存 设计?
|
8月前
|
存储 关系型数据库 MySQL
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
阿里面试:MySQL 一个表最多 加几个索引? 6个?64个?还是多少?
|
6月前
|
关系型数据库 MySQL Java
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
字节面试: MySQL 百万级 导入发生的 “死锁” 难题如何解决?“2序4拆”,彻底攻克
|
存储 SQL 关系型数据库
MySQL进阶突击系列(03) MySQL架构原理solo九魂17环连问 | 给大厂面试官的一封信
本文介绍了MySQL架构原理、存储引擎和索引的相关知识点,涵盖查询和更新SQL的执行过程、MySQL各组件的作用、存储引擎的类型及特性、索引的建立和使用原则,以及二叉树、平衡二叉树和B树的区别。通过这些内容,帮助读者深入了解MySQL的工作机制,提高数据库管理和优化能力。
|
8月前
|
存储 SQL 关系型数据库
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
京东面试:mysql深度分页 严重影响性能?根本原因是什么?如何优化?
|
8月前
|
SQL 存储 关系型数据库
滴滴面试:明明 mysql 加的是 行锁,怎么就变 表锁 了?
滴滴面试:明明 mysql 加的是 行锁,怎么就变 表锁 了?
|
12月前
|
存储 关系型数据库 MySQL
美团面试:MySQL为什么 不用 Docker部署?
45岁老架构师尼恩在读者交流群中分享了关于“MySQL为什么不推荐使用Docker部署”的深入分析。通过系统化的梳理,尼恩帮助读者理解为何大型MySQL数据库通常不使用Docker部署,主要涉及性能、管理复杂度和稳定性等方面的考量。文章详细解释了有状态容器的特点、Docker的资源隔离问题以及磁盘IO性能损耗,并提供了小型MySQL使用Docker的最佳实践。此外,尼恩还介绍了Share Nothing架构的优势及其应用场景,强调了配置管理和数据持久化的挑战。最后,尼恩建议读者参考《尼恩Java面试宝典PDF》以提升技术能力,更好地应对面试中的难题。
|
11月前
|
SQL 关系型数据库 MySQL
京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
1.请解释什么是MVCC,它在数据库中的作用是什么? 2.在MySQL中,MVCC是如何实现的?请简述其工作原理。 3.MVCC是如何解决读-写和写-写冲突的? 4.在并发环境中,当多个事务同时读取同一行数据时,MVCC是如何保证每个事务看到的数据版本是一致的? 5.MVCC如何帮助提高数据库的并发性能?
京东面试:MySQL MVCC是如何实现的?如何通过MVCC实现读已提交、可重复读隔离级别的?
|
10月前
|
消息中间件 NoSQL 关系型数据库
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
去哪面试:1Wtps高并发,MySQL 热点行 问题, 怎么解决?
|
12月前
|
存储 SQL 关系型数据库
MySQL 面试题
MySQL 的一些基础面试题
210 5

推荐镜像

更多