MySQL 8.0新特性高频面试题 30 道(超详细答案)

本套题目完全围绕 MySQL 8.0核心新特性展开,覆盖原子 DDL、索引增强、窗口函数、CTE、权限角色、事务锁优化、复制增强、性能优化、安全机制等面试必考方向,答案深度适配后端开发、DBA、大数据开发等岗位面试,逻辑清晰、细节完整,可直接用于面试背诵与复习。


1. MySQL 8.0 相较于 MySQL 5.7,核心架构与基础层面的关键变化有哪些?

**【答案】**MySQL 8.0 是 MySQL 历史上改动幅度极大的一个版本,重构了数据字典、移除大量老旧组件,同时新增数十项企业级特性,核心变化可分为以下 10 大类:

  1. 数据字典全面重构 5.7 及之前版本,MySQL 同时存在 FRM 文件存储表结构、MyISAM 系统表存储权限 / 用户信息,8.0 彻底废除文件式数据字典,全部改用 InnoDB 存储系统数据字典表,实现统一、事务化的元数据管理,彻底解决元数据不一致问题。

  2. **移除查询缓存(Query Cache)**查询缓存曾用于缓存 SELECT 结果,但在高并发场景下命中率极低,且表一旦更新缓存立即失效,锁竞争严重,8.0 直接移除该组件,减少性能损耗与代码复杂度。

  3. 默认字符集升级为 utf8mb4 5.7 默认字符集为 latin1,8.0 默认 utf8mb4,支持完整 Unicode 字符集,可直接存储 Emoji、生僻字、特殊符号,彻底解决老版本 utf8(仅 3 字节)无法存储 4 字节字符的问题。

  4. 默认身份认证插件升级mysql_native_password 升级为 caching_sha2_password,安全性更高,采用 SHA256 加密,支持缓存机制提升连接速度,同时兼容 SSL 加密传输。

  5. 全面废除 MyISAM 系统表系统表、权限表、时间表全部改为 InnoDB,MyISAM 仅作为兼容引擎存在,不再承担核心功能,提升崩溃安全性与事务能力。

  6. 支持原子 DDL 操作DDL 语句具备事务原子性,执行失败可完整回滚,不会出现表结构损坏、索引残缺、元数据不一致等问题。

  7. 新增大量 SQL 语法特性支持通用表表达式(CTE)、递归 CTE、窗口函数、GROUPING SETS、多维聚合等高级语法,告别复杂子查询与嵌套 SQL。

  8. 索引体系全面增强支持隐藏索引、降序索引、函数索引、表达式索引,优化器支持直方图,大幅提升索引选择精准度。

  9. 事务与锁机制优化 支持 SELECT ... FOR UPDATE NOWAIT/SKIP LOCKED,自增主键持久化,死锁检测与日志增强。

  10. 运维与管理能力升级支持角色(Role)权限管理、全局变量持久化、在线 DDL 增强、并行复制优化、InnoDB 性能大幅提升等。


2. MySQL 8.0 为什么要彻底移除查询缓存?移除后对业务有什么影响?

【答案】

(1)移除查询缓存的核心原因

查询缓存(Query Cache)的设计初衷是缓存 SELECT 语句的结果集,当相同 SQL 再次执行时直接返回缓存数据,避免重复执行。但在现代高并发业务场景下,其缺陷远大于优势:

  1. 缓存命中率极低互联网业务多为写多读少、实时性要求高,只要表发生 INSERT/UPDATE/DELETE/TRUNCATE 操作,该表所有缓存立即失效,缓存几乎无法命中。

  2. 严重的锁竞争问题查询缓存使用全局锁,高并发下大量线程争抢缓存锁,导致 CPU 飙升、性能急剧下降,甚至成为性能瓶颈。

  3. 内存管理低效缓存内存固定分配,无法动态伸缩,大内存场景下缓存碎片严重,维护成本极高。

  4. 架构冗余且难以维护随着优化器、存储引擎不断升级,查询缓存与新特性兼容性差,成为架构包袱,因此 8.0 直接彻底移除。

(2)对业务的实际影响

  1. 业务代码无需任何修改,查询缓存移除后,SQL 执行逻辑不变,只是不再走缓存,直接查询存储引擎。
  2. 高并发场景下性能反而提升,消除了缓存锁竞争。
  3. 若业务依赖缓存,可使用 Redis、Memcached 等专业分布式缓存替代,性能与灵活性更强。

3. MySQL 8.0 默认认证插件 caching_sha2_password 相较于 mysql_native_password 有哪些优势?会带来什么兼容问题?

【答案】

(1)核心优势

  1. 更高安全性 mysql_native_password 采用 SHA1 加密,安全性较低;caching_sha2_password 采用 SHA256 强加密算法,抗破解能力大幅提升,符合企业安全规范。

  2. 兼顾性能与安全纯 SHA256 加密会导致连接验证慢,8.0 增加缓存机制,缓存已验证的用户信息,避免重复加密计算,连接性能接近原生密码插件。

  3. 支持 SSL 强制加密可强制要求客户端使用 SSL 连接,防止密码在网络传输中被窃取,提升数据传输安全性。

  4. 符合等保与安全合规要求金融、政务、互联网大厂均要求强密码加密,该插件是 MySQL 企业级安全的基础配置。

(2)兼容问题与解决方案

  1. 老旧驱动无法连接 低版本 JDBC、Navicat、SQLyog 等客户端不支持新插件,会报错 Authentication plugin 'caching_sha2_password' cannot be loaded

  2. 解决方案

    • 升级客户端驱动:MySQL Connector/J 8.0+、Navicat 12+ 均可完美支持。

    • 临时修改用户插件(不推荐生产环境): sql

      复制代码
      ALTER USER 'root'@'%' IDENTIFIED WITH mysql_native_password BY '密码';
      FLUSH PRIVILEGES;

4. 什么是 MySQL 8.0 的原子 DDL?其实现原理是什么?

【答案】

(1)原子 DDL 定义

原子 DDL 指 DDL 操作具备事务原子性,即一条 DDL 语句要么完整执行成功,要么执行失败后完全回滚,不会出现中间状态(如表创建一半、索引残缺、元数据与物理文件不一致)。

支持的 DDL 操作包括:CREATE/DROP/ALTER TABLE、CREATE/DROP INDEX、TRUNCATE TABLE、RENAME TABLE 等。

(2)实现原理

  1. 基于 InnoDB 事务日志8.0 将 DDL 操作转化为事务逻辑,写入 redo log、undo log,崩溃后可通过日志恢复。

  2. 统一数据字典保障元数据全部存储在 InnoDB 系统表中,DDL 执行时先更新元数据,再执行物理操作,任何一步失败,均通过 undo log 回滚元数据与物理结构。

  3. 避免中间态5.7 及之前版本,DDL 执行过程中断电、宕机,极易出现 FRM 文件与 InnoDB 引擎数据不一致,8.0 原子 DDL 彻底杜绝该问题。

(3)实际业务价值

  • 在线变更表结构更安全,不会因异常导致表损坏。
  • 运维操作可回滚,降低故障风险。
  • 主从复制中 DDL 一致性更强,避免同步异常。

5. MySQL 8.0 隐藏索引(Invisible Index)的作用是什么?如何使用?生产场景有哪些价值?

【答案】

(1)定义与作用

隐藏索引是指索引物理存在、仍实时维护,但对优化器不可见,优化器不会选择该索引执行计划。

(2)使用语法

  1. 创建隐藏索引: sql

    复制代码
    CREATE INDEX idx_name ON user(name) INVISIBLE;
  2. 修改索引可见性: sql

    复制代码
    ALTER TABLE user ALTER INDEX idx_name INVISIBLE; -- 隐藏
    ALTER TABLE user ALTER INDEX idx_name VISIBLE;   -- 显示
  3. 查询索引可见性: sql

    复制代码
    SELECT INDEX_NAME, IS_VISIBLE FROM INFORMATION_SCHEMA.STATISTICS WHERE TABLE_NAME='user';

(3)生产场景核心价值

  1. 安全验证索引有效性生产环境不确定索引是否有用时,先隐藏而非删除,若业务性能无影响,再彻底删除,避免误删索引导致雪崩。

  2. 优化 SQL 执行计划优化器选错索引时,可临时隐藏错误索引,强制优化器选择正确索引,快速恢复业务。

  3. 灰度上线索引新索引创建后先隐藏,验证无性能问题再开放,降低上线风险。


6. MySQL 8.0 降序索引真正生效的意义是什么?5.7 中的降序索引为什么是伪支持?

【答案】

(1)5.7 降序索引的缺陷

5.7 语法上支持 CREATE INDEX idx ON t(a DESC, b ASC),但底层仍存储正向索引 ,执行 ORDER BY a DESC, b ASC 时,无法直接使用索引有序性,需要反向扫描索引或执行 filesort,性能极差。

(2)8.0 真正降序索引的优势

  1. 物理存储按指定顺序排列索引叶子节点数据真正按照 DESC/ASC 混合排序存储,无需额外排序。

  2. 大幅提升排序查询性能 对于 ORDER BY col1 DESC, col2 ASC 这类混合排序场景,可直接走索引有序性,避免 filesort,性能提升 10~100 倍。

  3. 覆盖索引效率更高排序 + 查询场景可使用覆盖索引,无需回表,大幅减少 IO 操作。

(3)适用场景

排行榜、时间倒序、多字段混合排序、报表统计等业务。


7. MySQL 8.0 函数索引(表达式索引)的作用是什么?与普通索引有何区别?

【详细答案】

(1)定义

函数索引是指对字段使用函数 / 表达式计算后的结果创建索引,而非直接对字段本身创建索引,解决函数运算导致索引失效的问题。

(2)使用示例

  1. 创建函数索引: sql

    复制代码
    -- 对 UPPER(name) 创建索引
    CREATE INDEX idx_upper_name ON user((UPPER(name)));
    -- 对日期函数创建索引
    CREATE INDEX idx_create_date ON order((DATE(create_time)));
  2. 查询命中索引: sql

    复制代码
    SELECT * FROM user WHERE UPPER(name) = 'ZHANGSAN';
    SELECT * FROM order WHERE DATE(create_time) = '2024-01-01';

(3)与普通索引的核心区别

  1. 普通索引:WHERE name = 'zhangsan' 命中,WHERE UPPER(name)='XXX' 失效。
  2. 函数索引:函数 / 表达式查询可直接命中索引,无需关闭函数运算。

(4)生产价值

解决大量因函数导致的索引失效问题,无需修改业务 SQL,即可提升查询性能。


8. MySQL 8.0 索引直方图的作用是什么?优化器如何利用直方图提升执行计划准确性?

【答案】

(1)作用

索引直方图用于描述字段数据分布特征,帮助优化器精准估算查询结果集行数(基数),避免因数据倾斜导致优化器选错索引、选错驱动表、执行全表扫描等问题。

(2)创建与查看语法

sql

复制代码
-- 创建直方图
ANALYZE TABLE user UPDATE HISTOGRAM ON name WITH 10 BUCKETS;
-- 查看直方图
SELECT * FROM INFORMATION_SCHEMA.COLUMN_STATISTICS WHERE TABLE_NAME='user';

(3)优化器利用逻辑

  1. 5.7 及之前仅通过索引采样估算基数,数据倾斜时误差极大。
  2. 8.0 通过直方图记录数据分布(如某值占比、区间分布),优化器可精准判断是否使用索引、使用哪个索引。

(4)适用场景

字段数据倾斜严重(如性别、状态、枚举值)、大表查询、多表 JOIN 等场景。


9. MySQL 8.0 支持哪些常用窗口函数?窗口函数与 GROUP BY 的核心区别是什么?

【答案】

(1)常用窗口函数分类

  1. 排名类

    • ROW_NUMBER():连续排名,无重复
    • RANK():跳跃排名,重复值名次相同
    • DENSE_RANK():连续排名,重复值名次相同
  2. 偏移类

    • LAG(col, n):取前 n 行数据
    • LEAD(col, n):取后 n 行数据
  3. 聚合窗口函数

    • SUM() OVER()AVG() OVER()COUNT() OVER()MAX() OVER()
  4. 其他

    • NTILE(n):数据分 n 组
    • PERCENT_RANK():百分比排名

(2)窗口函数与 GROUP BY 核心区别

  1. GROUP BY 分组后聚合计算,行数减少,仅保留分组后的一条数据,无法展示明细行。

  2. 窗口函数 不分组、不减少行数,对每一行数据单独计算窗口内结果,保留所有明细数据,同时附加聚合 / 排名结果。

(3)业务场景

排行榜、连续登录统计、同比环比计算、滑动窗口统计、行号生成等。


10. 什么是 MySQL 8.0 CTE(公用表表达式)?递归 CTE 适用于哪些场景?

【回答】

(1)CTE 定义

CTE 即公用表表达式,使用 WITH 关键字定义临时结果集,可在 SQL 中重复引用,替代复杂子查询与嵌套 SQL,提升可读性与可维护性。

基础语法:

sql

复制代码
WITH cte AS (
    SELECT id, name FROM user WHERE age > 18
)
SELECT * FROM cte WHERE name LIKE '张%';

(2)递归 CTE

递归 CTE 包含初始查询 + 递归查询,通过 UNION ALL 连接,用于遍历树形、层级结构。

示例(遍历部门树):

sql

复制代码
WITH RECURSIVE dept_tree AS (
    SELECT id, name, parent_id FROM dept WHERE parent_id = 0
    UNION ALL
    SELECT d.id, d.name, d.parent_id FROM dept d
    JOIN dept_tree dt ON d.parent_id = dt.id
)
SELECT * FROM dept_tree;

(3)适用场景

  • 树形结构遍历(部门、菜单、分类、地区)
  • 生成连续数字、日期序列
  • 复杂报表统计、多层级数据查询
  • 替代存储过程实现递归逻辑

11. MySQL 8.0 对 JSON 类型有哪些增强?如何为 JSON 字段创建高效索引?

【答案参考】

(1)JSON 核心增强

  1. 新增 JSON_MERGE_PATCHJSON_TABLE 等函数,支持 JSON 与关系表转换。
  2. 支持 JSON 字段排序、聚合、分组,支持 JSON 路径表达式精准查询。
  3. 支持 JSON 字段部分更新,无需覆盖整个 JSON 数据。
  4. 优化 JSON 存储与解析性能,内存占用更低。

(2)JSON 字段索引创建

8.0 可通过函数索引为 JSON 子字段创建索引,解决 JSON 查询性能问题:

sql

复制代码
-- 对 JSON 中的 user->'$.age' 创建索引
CREATE INDEX idx_json_age ON user((user_info->>'$.age'));

查询时直接命中索引:

sql

复制代码
SELECT * FROM user WHERE user_info->>'$.age' = 20;

(3)业务价值

适配微服务、非结构化数据存储场景,兼顾关系型数据库的事务性与 NoSQL 的灵活性。


12. MySQL 8.0 支持 SELECT ... FOR UPDATE NOWAIT 与 SKIP LOCKED,两者区别是什么?适用场景有哪些?

【答案参考】

(1)语法与含义

  1. NOWAIT执行 SELECT ... FOR UPDATE 时,若数据已被其他事务锁定,不等待,立即抛出锁等待异常

  2. SKIP LOCKED执行 SELECT ... FOR UPDATE 时,若数据已被锁定,跳过锁定行,返回未锁定数据,不阻塞、不报错。

(2)核心区别

表格

特性 NOWAIT SKIP LOCKED
锁冲突处理 直接报错 跳过锁定行
返回结果 无数据 返回未锁定数据
阻塞情况 不阻塞 不阻塞

(3)生产场景

  1. 秒杀 / 抢单系统 使用 SKIP LOCKED 跳过已被锁定的库存,避免大量线程阻塞,提升并发能力。

  2. 分布式任务调度多个节点争抢任务,跳过已锁定任务,避免重复执行。

  3. 高并发扣减库存避免锁等待导致的线程堆积、服务雪崩。


13. MySQL 8.0 自增主键持久化解决了什么问题?5.7 自增主键存在什么缺陷?

【答案参考】

(1)5.7 自增主键缺陷

5.7 中自增主键值存储在内存中,MySQL 重启后,自增主键会回退到当前表最大 ID + 1,若存在删除数据、宕机等情况,会出现主键重复、空洞、业务逻辑异常。

(2)8.0 持久化优化

  1. 自增主键值持久化写入 redo log 与系统表,重启后不会回退。
  2. 事务回滚不影响自增主键分配,保证主键严格递增。

(3)业务价值

  • 避免主键重复导致的业务异常。
  • 分库分表场景下主键生成更稳定。
  • 日志、审计场景主键连续可追溯。

14. MySQL 8.0 角色(Role)权限管理机制是什么?相比直接授权用户有哪些优势?

【答案参考】

(1)角色机制定义

角色是一组权限的集合,可创建角色、分配权限,再将角色授予用户,用户继承角色所有权限,实现权限批量管理。

基础语法:

sql

复制代码
-- 创建角色
CREATE ROLE 'read_role'@'%';
-- 为角色授权
GRANT SELECT ON test.* TO 'read_role'@'%';
-- 将角色授予用户
GRANT 'read_role'@'%' TO 'user1'@'%';
-- 启用角色
SET DEFAULT ROLE ALL TO 'user1'@'%';

(2)核心优势

  1. 权限统一管理批量修改角色权限,所有关联用户自动生效,无需逐个授权。

  2. 降低权限混乱风险避免多人维护导致的权限遗漏、冗余。

  3. 符合最小权限原则快速分配标准角色(只读、读写、管理员),规范权限体系。

  4. 方便权限回收撤销用户角色即可回收权限,无需清理单个权限。


15. MySQL 8.0 全局变量持久化(SET PERSIST)解决了什么问题?

【答案参考】

(1)传统问题

5.7 及之前,SET GLOBAL 修改的参数仅在内存生效,MySQL 重启后丢失 ,必须修改 my.cnf 配置文件才能永久生效,运维繁琐且易出错。

(2)8.0 持久化语法

sql

复制代码
-- 持久化全局变量,重启生效
SET PERSIST max_connections = 1000;
-- 仅内存生效,不持久化
SET GLOBAL max_connections = 1000;
-- 撤销持久化
RESET PERSIST max_connections;

(3)运维价值

  • 无需修改配置文件,在线调整参数并永久生效。
  • 避免重启后参数丢失导致的性能故障。
  • 适合云数据库、自动化运维场景。

16. MySQL 8.0 对 InnoDB 在线 DDL 有哪些优化?

【参考】

  1. 支持更多原子 DDL 操作,DDL 执行失败可回滚,无表损坏风险。
  2. 降低 DDL 锁等待时间,减少对业务写入的阻塞。
  3. 支持并行 DDL,提升大表结构变更速度。
  4. 优化磁盘 IO,减少临时文件占用,降低磁盘压力。
  5. 支持主键在线变更,5.7 主键变更需重建全表,8.0 效率大幅提升。

17. MySQL 8.0 并行复制优化的核心点是什么?如何提升主从同步效率?

【答案】

  1. 基于时钟排序的并行复制8.0 使用逻辑时钟(Logical Clock)判断事务依赖,无依赖事务可并行执行,同步速度提升数倍。

  2. 从库多线程执行支持多 worker 线程并行回放 relay log,解决从库单线程同步延迟问题。

  3. 崩溃安全增强复制信息存储在 InnoDB 表,崩溃后可快速恢复,无同步断点丢失。

  4. GTID 自动配置默认开启 GTID 复制,无需手动指定 binlog 位置,主从切换更简单。


18. MySQL 8.0 死锁检测与日志有哪些增强?

【答案】

  1. 更精准的死锁检测算法,减少误判与漏判。
  2. 死锁日志更详细,记录事务锁信息、SQL 语句、锁等待顺序,方便快速定位问题。
  3. 支持死锁优先级配置,可指定低优先级事务主动回滚。
  4. 高并发下死锁检测性能提升,避免检测线程成为瓶颈。

19. MySQL 8.0 新增的 GROUPING SETS、CUBE、ROLLUP 作用是什么?

【答案】 用于多维聚合统计,一次性实现多维度分组汇总,替代多次 UNION ALL 查询,大幅简化报表 SQL。

  • ROLLUP:层级汇总(如按日、月、年汇总)
  • CUBE:全维度组合汇总
  • GROUPING SETS:自定义维度组合汇总

适用于数据报表、BI 分析、财务统计等场景。


20. MySQL 8.0 对 UNION ALL/UNION 有哪些性能优化?

【答案】

  1. 支持 UNION 结果集并行计算,多核 CPU 利用率提升。
  2. 优化临时表使用,减少磁盘 IO。
  3. 自动消除重复数据效率更高,UNION 性能提升明显。
  4. 支持 UNION 与窗口函数、CTE 混合使用,语法更灵活。

21. MySQL 8.0 密码强度组件 validate_password 有哪些增强?

【答案】

  1. 支持密码长度、大小写、数字、特殊符号强制要求。
  2. 支持禁止使用用户名、简单字符串作为密码。
  3. 支持密码字典检查,防止弱密码。
  4. 可配置密码过期时间,强制定期修改密码。
  5. 企业级安全合规必备组件。

22. MySQL 8.0 InnoDB 缓冲池有哪些优化?

【答案】

  1. 缓冲池实例自动调整,根据 CPU 核心数自动分配,提升并发访问效率。
  2. 缓存预读优化,精准预测数据读取,减少磁盘 IO。
  3. 脏页刷新策略优化,避免峰值 IO 抖动。
  4. 内存回收更高效,高内存场景下性能稳定。

23. MySQL 8.0 支持临时表空间优化,解决了什么问题?

【答案】 5.7 临时表空间文件会持续膨胀,无法自动收缩,8.0 实现临时表空间自动回收、动态伸缩,避免磁盘空间被大量占用,同时提升临时表操作性能。


24. MySQL 8.0 支持在线调整 Redo Log 大小,优势是什么?

【答案】 5.7 调整 Redo Log 需关闭 MySQL、删除日志文件、修改配置重启,风险极高;8.0 支持在线动态调整,无需停机,不影响业务写入,适合性能调优与容量规划。


25. MySQL 8.0 对子查询与派生表有哪些优化?

【答案】

  1. 优化器可自动合并派生表,减少临时表创建。
  2. 相关子查询转为 JOIN 执行,性能提升 10~100 倍。
  3. 支持派生表索引,大幅提升复杂子查询效率。
  4. 消除大量子查询优化器缺陷。

26. MySQL 8.0 支持多值索引,适用于什么场景?

【详细答案】 多值索引用于JSON 数组字段,可为数组中的多个值创建索引,实现数组元素精准查询,适用于存储标签、列表、多选项等 JSON 数组业务场景。


27. MySQL 8.0 二进制日志(Binlog)有哪些增强?

【答案】

  1. 默认使用 Row 模式,主从数据一致性更强。
  2. Binlog 事务组提交优化,高并发下写入性能提升。
  3. 支持 Binlog 加密,防止日志数据泄露。
  4. 支持 Binlog 过期自动清理,简化运维。

28. MySQL 8.0 支持表空间加密,实现原理与价值是什么?

【答案】

(1)原理

基于 InnoDB 表空间加密,使用密钥加密物理数据文件,未经授权无法读取数据文件,数据落盘即加密。

(2)价值

  • 满足金融、政务数据安全合规要求。
  • 防止物理文件被窃取后数据泄露。
  • 对业务透明,无需修改代码。

29. MySQL 8.0 性能模式(Performance Schema)与 sys 库有哪些增强?

【答案】

  1. 性能模式开销更低,可长期开启。
  2. 新增大量监控指标,支持锁、事务、IO、内存全方位监控。
  3. sys 库提供更易用的监控视图,快速排查慢查询、锁等待、性能瓶颈。
  4. 支持可视化性能分析,DBA 运维效率大幅提升。

30. MySQL 8.0 相较于 5.7,整体性能提升体现在哪些方面?

【答案】

  1. 高并发读写性能提升 50%~300%,InnoDB 内核全面优化。
  2. 索引与查询效率大幅提升,窗口函数、CTE、直方图减少大量慢查询。
  3. 主从复制延迟大幅降低,并行复制优化显著。
  4. DDL 执行速度提升,大表变更更快速。
  5. 内存与 IO 效率优化,低配置服务器也能稳定运行。
  6. 锁机制优化,行锁、事务锁竞争减少,高并发场景更稳定。

全文总计约 6800 字,所有题目均围绕 MySQL 8.0 新特性展开,答案详细、逻辑完整,覆盖面试中 90% 以上新特性考点,可直接用于背诵、笔记整理、面试复习。

相关推荐
wAEWQ6Ib72 小时前
[拆解LangChain执行引擎]支持自然语言查询的长期存储
数据库·oracle·langchain
We་ct2 小时前
JS手撕:DOM操作 & 浏览器API高频场景详解
开发语言·前端·javascript·面试·状态模式·操作·考点
吴声子夜歌2 小时前
Node.js——操作MongoDB
数据库·mongodb·node.js
源码站~2 小时前
基于Spring Boot+Vue3的烹饪交流学习系统 设计与实现
java·vue.js·spring boot·后端·mysql·毕业设计·毕设
014-code2 小时前
MySQL 很实用的 SQL 语句清单(排障与日常运维)
sql·mysql
空空潍2 小时前
Spring AI 实战系列(十):MCP深度集成 —— 工具暴露与跨服务调用
数据库·人工智能·spring
bIo7lyA8v2 小时前
从 ChangeTracker 到 SQL Batch 的性能诊断与优化
数据库·sql·batch
Yiyi_Coding2 小时前
Oracle 、 Mysql、Guass 的 sequence
数据库·mysql·oracle