- 博客(28)
- 收藏
- 关注
原创 MySQL-调优详解(不看后悔一辈子版)
MySQL索引优化与查询性能提升 本文系统介绍了MySQL索引优化与查询性能提升的关键技术。主要内容包括: 索引优化:详细分析了B+树索引结构、索引覆盖与回表查询机制,通过执行计划解析type和Extra列的性能指标,指导索引创建策略。 查询优化:深入探讨了WHERE子句优化、范围查询优化、索引合并算法(交叉/联合/排序联合)等高级技术,以及外连接、IS NULL、ORDER BY、GROUP BY等特定场景的优化方法。 索引失效场景:总结了复合索引最左原则、OR条件、LIKE模糊查询等常见索引失效情况。
2025-11-21 21:53:21
912
3
原创 MySQL-触发器
触发器是与数据库表关联的特殊对象,在执行INSERT、UPDATE或DELETE操作时自动触发预设SQL语句。MySQL支持三种行级触发器(不支持语句级),可通过OLD和NEW访问修改前后的数据。文章详细介绍了创建(BEFORE/AFTER)、查看和删除触发器的语法,并以学生表为例,演示了如何通过三种触发器记录变更日志到student_log表,包括新增、修改和删除操作的完整实现过程及测试方法,展示了触发器在数据审计中的实际应用。
2025-11-17 16:41:58
637
原创 MySQL存储过程
本文详细介绍了MySQL存储过程及相关编程技术。主要内容包括:1)存储过程的定义、特点、优缺点及基本语法;2)系统变量、用户变量和局部变量的使用方法;3)SQL编程中的条件判断、参数传递、循环结构等控制语句;4)游标的使用及条件处理程序;5)存储函数的定义和使用。文章通过大量实例演示了各类技术的具体应用,如成绩等级判定、数据累加计算、数据迁移等,并强调了变量作用域、错误处理等注意事项。这些技术能有效封装业务逻辑,提高数据库操作效率和安全性。
2025-11-16 21:31:03
1011
2
原创 数据库-索引
本文系统介绍了MySQL索引的核心知识:1. 索引本质是加速查询的数据结构,类似书籍目录 2. 重点分析了B+树作为索引结构的优势:支持范围查询、稳定时间复杂度、高效磁盘IO 3. 详细解析InnoDB的数据页结构(16KB页大小、页目录二分查找机制)及其与B+树的关联 4. 分类说明主键索引、唯一索引、组合索引等不同类型 5. 提供索引创建、查看、删除的完整SQL操作指南 6. 强调索引使用注意事项:合理选择索引列、平衡查询性能与维护成本。通过三层B+树可支撑千万级数据高效查询的实例,展示了索引对数据库性
2025-10-20 21:01:27
1143
2
原创 数据库-联表查询
本文介绍了MySQL联合查询的多种方法及其应用场景。主要内容包括:1)联合查询的基本概念及计算过程(笛卡尔积);2)内连接、外连接(左/右连接)和自连接的使用方法;3)子查询(单行、多行、多列)的实现方式;4)合并查询(UNION/UNION ALL)的应用;5)插入查询结果和创建新表的操作。通过学生成绩管理系统案例,详细演示了各类查询的实际应用,包括表连接条件设置、结果过滤、分组统计等核心操作技巧。文章特别强调了联合查询的性能考虑,并提供了完整的SQL示例代码。
2025-10-17 11:44:22
717
1
原创 数据结构-Map和Set
本文系统介绍了搜索树和哈希表两类重要的数据结构。在搜索树部分,详细讲解了二叉搜索树的概念、基本操作(查找、插入、删除)及其实现,分析了其性能特点,并介绍了Java中的TreeMap和TreeSet实现。哈希表部分阐述了哈希函数的设计原则、冲突处理方法(开放地址法和链地址法),重点讲解了哈希桶的实现原理,分析了时间复杂度,最后说明了Java中HashMap和HashSet的实现方式。全文通过理论讲解结合代码示例,系统性地介绍了这两种高效查找数据结构的原理和应用。
2025-10-13 22:02:09
599
4
原创 数据结构-优先级队列
本文介绍了优先级队列的概念、实现及其应用。优先级队列是一种支持按优先级处理元素的数据结构,常用于需要优先处理高优先级任务的场景。其底层通常通过堆(大根堆或小根堆)实现,核心操作包括插入元素(向上调整)和删除堆顶元素(向下调整)。文章详细讲解了堆的存储方式、创建过程(时间复杂度O(n))以及插入删除操作(O(logn)),并给出了Java中PriorityQueue的模拟实现代码。最后介绍了JDK中PriorityQueue的特性、常用接口及扩容机制,并指出堆排序和优先级队列的实际应用。
2025-10-12 15:16:05
775
2
原创 数据结构-二叉树
本文介绍了树型结构和二叉树的基本概念。树是一种非线性数据结构,具有根节点、子树等特性,包含度、叶子节点、深度等重要概念。重点讲解了二叉树的定义、性质(如满二叉树、完全二叉树)以及存储结构(顺序存储和链式存储)。详细阐述了二叉树的三种遍历方式:先序(根-左-右)、中序(左-根-右)、后序(左-右-根)遍历,并提供了Java代码实现示例。此外还介绍了层序遍历方法,即按层次自上而下、自左至右访问节点。这些基础知识是理解和运用树形结构的重要前提。
2025-10-11 22:11:06
940
1
原创 数据结构-ArrayList与顺序表
本文介绍了线性表及其实现方式,重点讲解了顺序表和ArrayList的相关知识。主要内容包括:1.线性表的基本概念和存储结构;2.顺序表的实现原理及基本操作接口;3.ArrayList的特点、构造方法和常见操作;4.ArrayList的三种遍历方式和扩容机制;5.通过洗牌算法案例展示ArrayList的具体应用;6.分析ArrayList存在的问题,如插入删除效率低、扩容消耗大、空间浪费等。文章系统性地介绍了ArrayList这一常用数据结构,对其实现原理和使用方法进行了详细说明,并指出了其优缺点。
2025-10-09 22:17:02
950
3
原创 Spring AI-流式编程
SSE(Server-Sent Events)是一种基于HTTP的轻量级实时通信协议,支持服务器向客户端单向推送数据流。其特点包括:基于HTTP协议、自动重连机制、自定义消息类型。Spring从4.2开始支持SSE,5.0后可通过WebFlux的Flux实现更优雅的流式响应,提供map、filter等操作符处理数据流。示例展示了如何创建SSE服务端接口和客户端实现,以及Spring中流式响应的应用场景。
2025-10-08 16:25:53
1481
6
原创 Spring AI快速入门以及项目的创建
SpringAI是Spring官方推出的首个稳定版AI集成框架,帮助Java开发者便捷集成AI能力(如大语言模型、机器学习等)。文章介绍了SpringAI的核心概念,包括模型、LLM(大语言模型)、提示词和词元,并详细讲解了如何快速入门,包括环境要求、DeepSeek API申请、项目初始化和接入流程。此外,还介绍了SpringAI的聊天模型功能,包括ChatClient和ChatModel的使用,以及如何实现简单对话、结构化输出和流式输出。
2025-10-07 22:10:12
1426
4
原创 Linux基本使用(Ubuntu)
终端软件是一类工具软件,可以和远程的主机简历网络连接,从而对主机进行一些操作。我们使用的是XShell。
2025-10-02 17:44:49
1256
4
原创 Spring AOP
Aspect Oriented Programming(面向切面编程)登录拦截器,就是对“登录校验”这类问题的统一处理。所以,拦截器也是AOP的一种应用。AOP是一种思想,拦截器就是AOP思想的一种实现,Spring框架实现了这种思想,提供了了拦截器技术的相关接口。同样的,统一数据返回格式和统一异常处理,也是AOP思想的一种实现。AOP是一种思想,是对某一类事情的集中处理。什么是Spring AOP?AOP是⼀种思想,它的实现方法有很多,有SpringAOP,也有Aspect、CGLIB等。
2025-09-19 22:34:16
1045
原创 5.认识异常
Java 中虽然已经内置了丰富的异常类, 但是并不能完全表示实际开发中所遇到的一些异常,此时就需要维护符合我 们实际情况的异常结构。例如, 我们实现一个用户登陆功能。此时我们在处理用户名密码错误的时候可能就需要抛出两种异常。我们可以基于已有的异常类进行扩展(继承), 创建 和我们业务相关的异常类。具体方式:1. 自定义异常类,然后继承自Exception 或者 RunTimeException。2. 实现一个带有String类型参数的构造方法,参数含义:出现异常的原因。
2025-02-09 18:15:29
1581
原创 Java实现图书管理系统
通过IOperation将用户与书关联起来,接口中定义了work方法,里面所有的类都要实现IOperation接口里面的work方法(加上接口可以保证所有类提供的都是work方法加上接口,强制统一,也可以定义成抽象类,但是IOperation里面没有属性需要继承,优先考虑继承)。在User类中定义operations数组,构造work方法来判断进入功能界面后输入的选项是否正确,若不正确,则输出(输入有误),若正确,则调用operations数组里面输入的choice对应对象的work方法。
2025-01-27 00:45:29
542
原创 继承和多态
Java中使用类对现实世界中实体来进行描述,类经过实例化之后的产物对象,则可以用来表示现实中的实体,但是 现实世界错综复杂,事物之间可能会存在一些关联,那在设计程序是就需要考虑。
2025-01-21 00:06:17
1849
原创 介绍类和对象
class为定义类的关键字,ClassName为类的名字,{}为类的主题。类中包含的内容称为类的成员。属性主要是用来描述类的,称为类的成员属性或者成员变量。方法主要说明类具有哪些功能,称之为类的成员方法。采用Java语言将洗衣机类在计算机中定义完成,经过javac编译之后形成.class文件,在JVM的基础上计算机就可以识别了。注意事项成员前写法统一为public,此处写方法不带static关键字,后面会解释。注意事项1.main方法所在的类一般要用public修饰。
2025-01-13 21:22:58
1480
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅