MySQL DBA高频面试必备:基础知识与实战技巧

需积分: 0 6 下载量 80 浏览量 更新于2024-07-14 收藏 2.74MB PDF 举报
MySQL DBA高频面试题涵盖了丰富的MySQL数据库管理和维护知识,主要分为两大部分:数据库知识和MySQL基础篇。 **一、数据库知识(通用)篇** 1. **关键概念:** 主键、外键、超键和候选键是数据库设计的基础,它们定义了表间的关系和数据完整性。主键用于唯一标识记录,自增列常被选作主键以保证唯一性和递增性。 2. **触发器:** 用于在特定事件(如数据插入、更新或删除)发生时自动执行预定的SQL语句,实现业务逻辑的自动化处理。 3. **存储过程:** 是一组预编译的SQL语句集合,通过名称调用,用于封装复杂操作,提高效率和安全性。 4. **存储过程优点:** 提高性能、可重用、安全性;缺点包括调试复杂和执行计划缓存问题。 5. **存储过程与函数区别:** 函数通常只返回单个值,而存储过程可执行多条SQL语句并可能无返回值。 6. **视图:** 隐藏了底层数据表结构,提供简化、安全的查询接口,但不保存数据。 7. **游标:** 用于逐行遍历结果集,常用于循环处理。 8. **视图优缺点:** 易于理解和维护,但增加复杂性,不能修改。 9. **数据操作:** `DROP` 删除表结构,`TRUNCATE` 清空表内容但保留结构,`DELETE` 删除部分记录。 10. **临时表:** 临时存储数据,会随着事务结束自动删除,避免数据污染。 11. **非关系型与关系型:** 分别强调分布式、灵活性和结构化,适用不同场景,如NoSQL适合大数据量、实时查询,SQL适合结构化的数据分析。 12. **数据库范式:** 规范化程度,确保数据冗余最小化,提高数据的一致性和独立性。 13. **连接类型:** 内连接、外连接、交叉连接和笛卡尔积解释了不同情况下表之间的数据合并方式。 14. **varchar和char:** varchar按需存储字符,节省空间;char固定长度,浪费空间但适合固定长度字符串。 15. **SQL语言分类:** SQL包含DML(数据操作)、DDL(数据定义)、DCL(数据控制)和DQL(数据查询)等部分。 16. **like操作符:** `%`匹配任意字符序列,`-`表示不匹配某个字符。 17. **计数函数:** `COUNT(*)`计算所有行数,`COUNT(1)`等价于`COUNT(*)`,`COUNT(column)`计算指定列的非空值。 18. **最左前缀原则:** 查询优化时,使用最短可能的匹配子串。 19. **索引:** 数据库中用于加速查询的数据结构,加快数据查找速度。 20. **索引作用与优缺点:** 缩短搜索时间,但增加写操作开销,且过多索引可能影响性能。 21. **索引类型:** B+树和哈希索引各有优劣,B+树更适用于范围查询,哈希索引快速定位但不适合排序。 22. **B树与B+树:** B+树在磁盘I/O更有效,适合文件和数据库索引,B树节点包含所有子节点。 23. **聚集索引与非聚集索引:** 聚集索引包含所有数据,非聚集索引只包含指针,前者查询快但修改慢,后者反之。 **二、数据库MySQL基础篇** 这部分着重于MySQL的实际操作技巧和基础配置: 1. **函数分类与常用函数:** 包括数学、日期时间、字符串等,如ROUND、DATE_FORMAT。 2. **分组查询注意事项:** 确保正确使用GROUP BY和HAVING,避免分组错误。 3. **LIMIT使用:** 限制查询结果数量,分页查询的关键。 4. **MySQL数据类型:** 包括整型、浮点型、字符型、日期时间等。 5. **表结构管理:** 如创建、修改和删除字段、表。 6. **MySQL服务管理:** 启动、停止MySQL服务,检查端口状态。 7. **密码设置与修改:** 设置和更改MySQL用户密码。 8. **数据库连接:** 登录到MySQL服务器的方法。 9. **字符集设置:** 查看和设置数据库字符集。 10. **版本信息查看:** 检查MySQL版本。 11. **用户管理:** 查看当前登录用户和数据库用户列表。 12. **数据库操作:** 如切换数据库、创建和进入特定数据库。 13. **表创建和查询:** 创建表,插入和查询数据。 以上知识点全面覆盖了MySQL DBA面试中常见的理论和实践问题,对于准备MySQL数据库管理员职位的求职者来说,理解和掌握这些内容至关重要。