当前位置:首页 > 行业动态 > 正文

mysql常见面试题

1. 什么是MySQL?,2. MySQL和Oracle的区别是什么?,3. MySQL支持哪些存储引擎?,4. 什么是事务?,5. 什么是索引?,6. 什么是主键?,7. 什么是外键?,8. 什么是视图?,9. 什么是触发器?,10. 什么是存储过程?

MySQL基础

1、请简述MySQL的存储引擎有哪些?

mysql常见面试题  第1张

存储引擎 特点
InnoDB 事务型存储引擎,支持行级锁定,适合高并发场景
MyISAM 非事务型存储引擎,不支持行级锁定,适合读密集型场景
MEMORY 内存存储引擎,数据存储在内存中,速度快,但数据易丢失
Archive 归档存储引擎,用于存储大量只读数据,如日志文件
NDB 分布式存储引擎,支持多节点复制和分片

2、请简述MySQL的索引类型有哪些?

索引类型 特点
BTree索引 基于BTree数据结构,适用于全值匹配和非空字段查询
Hash索引 基于哈希表实现,适用于等值查询和范围查询
FullText索引 全文检索索引,适用于文本字段的全文搜索
RTree索引 空间数据索引,适用于地理空间数据查询
SPATIAL索引 空间数据索引,适用于地理空间数据查询(MyISAM引擎)

SQL语句

1、请简述SQL中的DDL、DML、DCL、DQL命令?

SQL命令 类型 描述
DDL(Data Definition Language) 数据定义语言 用于定义和管理数据库对象(如表、索引、视图等)的语言,如CREATE、DROP、ALTER等
DML(Data Manipulation Language) 数据操作语言 用于对数据库中的数据进行增删改查操作的语言,如INSERT、DELETE、UPDATE、SELECT等
DCL(Data Control Language) 数据控制语言 用于控制用户对数据库对象的访问权限的语言,如GRANT、REVOKE等
DQL(Data Query Language) 数据查询语言 用于从数据库中查询数据的语言,如SELECT等

2、请简述SQL中的聚合函数有哪些?

聚合函数 描述
COUNT() 计算表中记录的数量
SUM() 计算表中某列的总和
AVG() 计算表中某列的平均值
MIN() 获取表中某列的最小值
MAX() 获取表中某列的最大值
FIRST()/LAST() 获取表中某列的第一个/最后一个值
GROUP_CONCAT() 将多个值连接成一个字符串,用逗号分隔
STDDEV()/VARIANCE()/PERCENTILE_CONT()/PERCENTILE_DISC() 计算标准差、方差、连续分位数、离散分位数等统计量

性能优化

1、请简述MySQL中如何优化查询性能?

确保使用合适的索引;

避免使用SELECT *,只查询需要的字段;

使用JOIN代替子查询;

限制结果集数量,使用LIMIT;

优化SQL语句,避免使用复杂的嵌套查询;

如果可能,使用分区表;

如果可能,使用缓存。

0