自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(207)
  • 收藏
  • 关注

原创 4-002:如何使用 MySQL 的 EXPLAIN 语句进行查询分析?

EXPLAIN是 MySQL 中用于分析查询性能的工具,能够帮助你理解查询的执行计划。通过EXPLAIN,你可以查看 MySQL 如何执行查询,包括使用的索引、表连接顺序等信息。

2025-03-13 23:25:54 390

原创 4-001:MySQL 中的索引数量是否越多越好?为什么?

【代码】4-001:MySQL 中的索引数量是否越多越好?为什么?

2025-03-13 23:13:20 414

原创 3-003:在 MySQL 中建索引时需要注意哪些事项?

才能让索引真正提高 MySQL 性能。:合理设计索引,遵循。

2025-03-12 23:41:34 374

原创 3-002: MySQL 中使用索引一定有效吗?如何排查索引效果?

影响索引使用的因素是否会导致索引失效解决方案!< >✅ 失效改用BETWEEN或INOR但部分字段无索引✅ 失效拆分查询或为所有字段加索引✅ 失效改用前缀索引或全文索引类型转换✅ 失效确保查询和字段类型一致IS NULL✅ 可能失效使用默认值替代NULL低选择性索引✅ 可能失效使用联合索引提高选择性EXPLAIN显示ALL✅ 失效重新设计索引或优化 SQL使用EXPLAINSHOW INDEX等工具,可以有效排查 MySQL 索引是否生效,并进行优化。

2025-03-12 23:29:28 1030

原创 3-001:MySQL 中的回表是什么?

指的是。

2025-03-12 23:10:09 882

原创 2-003:MySQL 三层 B+ 树能存多少数据?

这个计算方式比之前的百万级估算更加精准,关键在于。,可以用于实际评估 MySQL 索引的存储能力。✅ **如果增加一层(四层),则能存。,数据量扩展能力极强!

2025-03-11 23:19:25 389

原创 2-002:MySQL 索引的最左前缀匹配原则是什么?

📌。

2025-03-11 23:01:52 443

原创 2-001:为什么 MySQL 选择使用 B+ 树作为索引结构?

MySQL 选择数据库的索引一般存储在磁盘上,而磁盘的读写速度远低于内存。假设每个索引节点大小为 4KB这意味着查询一个索引键通常只需要。7.总结🚀。

2025-03-11 22:47:44 635

原创 idea常用插件

​。

2025-03-11 13:32:59 347

原创 1-003:MySQL 的索引类型有哪些?

正确选择索引可以显著提高查询性能!(非主键)上加索引,比如。: 和普通索引类似,但。,提高多条件查询效率。

2025-03-10 23:26:32 969

原创 1-002:MySQL InnoDB引擎中的聚簇索引和非聚簇索引有什么区别?

如果查询的数据只包含索引字段,则直接从索引中获取数据,不需要回表。,数据在磁盘上的存储顺序与。

2025-03-10 23:17:12 799

原创 1-001:MySQL的存储引擎有哪些?它们之间有什么区别?

│ ├── 适用场景:日志系统、数据分析、全文索引(支持 FULLTEXT 索引)│ ├── 其他特点:数据存储在内存中,速度极快,但 MySQL 关闭后数据丢失。│ ├── 事务支持:支持 ACID 和事务(事务日志、回滚、崩溃恢复)│ ├── 适用场景:OLTP(高并发事务处理)、数据一致性要求高的系统。│ ├── 其他特点:每个表存储为一个 CSV 文件,数据可读性高。│ ├── 适用场景:高可用、高吞吐量的分布式存储(如电信系统)├── Archive(归档存储引擎)

2025-03-10 22:56:39 326

原创 Linux环境下使用LVM扩容逻辑卷至120GB的详细指南

LVM允许您将多个物理硬盘或分区组合成一个大的逻辑存储池,然后从中划分出逻辑卷。当存储需求增加时,您可以轻松地通过扩展现有卷组(VG)或添加新的物理硬盘来扩容逻辑卷。通过以上步骤,您已经学会了如何在Linux环境下使用LVM通过添加新磁盘来扩容逻辑卷至120GB。请记得在操作前备份重要数据,以防不测。希望本文能帮助您更好地理解和使用LVM进行磁盘扩容。

2025-03-07 07:58:24 726

原创 Java 8 到 Java 17 主要新特性

Java 8 到 Java 17 是 Java 语言的多个重要版本,其中每个版本都引入了新的特性和改进。Java 10 提供了 JEP 307(Parallel Full GC)的改进,增加了对垃圾回收性能的优化,特别是在多核机器上的表现更佳。Lambda 表达式是 Java 8 的一个重要特性,它使得 Java 支持函数式编程,可以以更加简洁的方式表示匿名函数。Stream API 提供了高效的、可组合的数据处理方式,可以简化集合的操作,比如过滤、映射、排序等。

2025-03-02 23:48:30 949

原创 Java 8 新特性

Lambda 表达式使得 Java 代码更加简洁,能够。

2025-03-02 23:42:27 876 2

原创 Java 反射(Reflection)的原理和应用

然而,由于它带来的性能开销、潜在的安全隐患以及代码复杂度的增加,开发者应在合适的场景下谨慎使用反射。反射(Reflection)是 Java 语言的一项强大功能,它允许程序在运行时动态地获取类的信息,并且可以操作这些信息,如创建对象、调用方法、访问字段等。反射是 Java 语言提供的一种机制,允许程序在运行时动态地获取类的信息(如类名、构造方法、字段、方法等),并可以对这些信息进行操作。通过反射,可以在运行时加载类、获取类的成员(字段、方法、构造方法等)、甚至在运行时修改对象的属性和方法。

2025-03-02 22:31:44 1051

原创 Java 泛型(Generics)详解与使用

泛型(Generics)是 Java 1.5 引入的一项重要特性,主要用于。

2025-03-02 12:33:37 1037

原创 日期时间 API

表示时间点,通常用于时间戳。它是自 UNIX 纪元(1970年1月1日)以来的秒数。适用于精确时间和存储时间。存在的一些设计缺陷,比如线程不安全、时区处理不一致等问题。这些类使得日期和时间的处理更加直观、安全,并且支持更复杂的日期时间计算。表示带有时区的日期时间,它可以精确到不同的时区,适用于跨时区的场景。标准,更加直观、简洁,且支持时区和区域设置。表示一天中的时间(小时、分钟、秒),不涉及日期和时区。用于表示没有时间部分和时区的日期(如:年-月-日)。,表示日期和时间,依然不涉及时区。

2025-02-28 23:48:07 932

原创 String、 StringBuffer 和 StringBuilder 的区别和作用及使用场景

String和是 Java 中常见的,它们主要的区别在于和。String,而不会修改原来的str,这会导致,影响性能。str += i;String。

2025-02-28 08:22:09 621

原创 同步锁:同步实现的几种方式

Java 提供了多种同步实现方式,不同的同步机制适用于不同的应用场景。选择合适的同步方式可以提高多线程程序的并发性和性能。

2025-02-27 23:20:03 887

原创 线程的多种创建方式和使用

继承 Thread 类:适合简单的线程创建,但不能继承其他类。实现 Runnable 接口:适合多线程共享资源的情况,比继承Thread更灵活。实现 Callable 接口:适合需要返回结果的线程任务,通常与配合使用。使用 ExecutorService:适合管理大量线程,自动复用线程,提高系统性能。使用 ForkJoinPool:适合大规模并行计算和分治型任务。使用 Lambda 表达式:适合快速创建简单线程,代码简洁。选择哪种方式,取决于具体应用场景和任务需求。在实际开发中,通常推荐使用或。

2025-02-18 23:09:21 772

原创 PostgreSQL 中的 EXTRACT 函数_操作日期

在 PostgreSQL 中,EXTRACT函数用于从日期/时间类型的数据中提取特定的部分,如年份、月份、星期几等。该函数非常适用于需要对时间字段进行分析或转换的场景。本文将详细介绍EXTRACT函数的用法,并提供丰富的案例,帮助你理解如何在 PostgreSQL 中高效地使用它。

2025-02-07 00:19:06 832

原创 常用的 DOS 命令详解

DOS(Disk Operating System)是一个命令行操作系统,提供了直接操作计算机文件系统的工具。在 Windows 系统的命令提示符中,许多 DOS 命令仍然被广泛使用,特别是在系统管理和故障排查时。以下是一些常用的 DOS 命令及其详解。以上命令覆盖了文件操作、系统管理、网络工具和脚本开发等多个方面,是运维、开发人员日常工作中不可或缺的工具。通过灵活组合这些命令,能够高效完成许多任务。掌握这些 DOS 命令,将为你的系统管理与自动化工作带来极大便利。

2025-01-05 09:31:05 926

原创 8.2 分库分表简介

ShardingJDBC 是 Java 的数据库分库分表中间件,作为 JDBC 驱动程序嵌入应用程序中,负责数据库分片、读写分离等功能。通过合理使用分库分表技术,可以有效解决大数据量和高并发问题,为业务提供强大的数据库支撑。MyCat 是基于代理的分库分表中间件,通过代理层实现对应用透明化的数据库分片和管理。随着业务规模扩大,单一数据库实例可能无法承载高并发的读写请求或海量数据存储。是一种通过拆分数据的方式,提升数据库性能和可扩展性的技术。实现分库分表需要借助中间件或框架,常见的有。

2024-12-13 23:43:39 568

原创 8.1 日志管理

本文深入解析 MySQL 中的关键日志类型,包括错误日志、二进制日志、查询日志和慢查询日志,帮助运维人员高效定位问题、分析性能并管理数据库。错误日志记录 MySQL 服务器运行过程中的重要信息,例如启动、关闭、错误及警告等,是排查数据库故障的第一手资料,是默认开启的。查询日志记录所有 SQL 语句,适用于排查非正常运行或验证用户行为,默认不开启。慢查询日志记录执行时间超过指定阈值的 SQL 语句,常用于发现性能瓶颈。二进制日志记录所有对数据库执行的修改操作(如。用于查看二进制日志文件内容信息。

2024-12-12 23:38:13 316

原创 8. Mysql-运维篇-大纲

日志主从复制分库分表读写分离

2024-12-12 00:07:05 131

原创 7. MySQL 管理:系统数据库与常见工具

MySQL 默认提供四个系统数据库,每个数据库都有特定的功能。本文详述 MySQL 的系统数据库功能及常见工具的简单用法,并提供具体指令解析。提供 MySQL 客户端交互环境,支持运行 SQL 查询、管理数据库和用户权限。管理 MySQL 服务,执行管理任务如查看服务器状态、重启服务等。解析和查看二进制日志,常用于故障恢复和主从同步。:在 MySQL 客户端执行 SQL 文件。:快速导入数据文件到 MySQL 数据表。显示数据库、表及列等元数据。用于备份数据库或表数据。

2024-12-11 23:53:19 694

原创 6.2 简易解析 InnoDB 存储引擎事务原理

InnoDB 是 MySQL 的默认事务型存储引擎,以其高效的事务支持和并发处理能力而闻名。本文将从事务原理、日志机制(Redo Log 和 Undo Log)以及 MVCC(多版本并发控制)等方面,剖析 InnoDB 的实现细节,理解其核心机制。Undo Log 是 InnoDB 的逻辑日志,记录事务的反向操作,用于支持事务回滚和 MVCC 的实现。Redo Log 是 InnoDB 的物理日志,记录数据页的物理更改,用于系统崩溃后的恢复操作。

2024-12-06 00:42:41 625

原创 6.1 innoDb逻辑存储结构和架构-简介

InnoDB 是 MySQL 默认的存储引擎,以其强大的事务支持、崩溃恢复能力和高效的数据处理能力广受欢迎。本文从逻辑存储结构、内存架构、磁盘结构到后台线程,逐步剖析 InnoDB 的关键概念,帮助您更好地理解和应用。InnoDB 的数据存储采用多层次的逻辑结构,具有极高的组织性和扩展性。

2024-12-03 00:26:32 1143

原创 6. InnoDB引擎-大纲

逻辑存储结构架构事务原理MVCC

2024-12-02 22:43:01 148

原创 5.1 MySQL 锁机制

锁机制是 MySQL 用于控制并发访问的重要手段,通过锁定资源避免数据冲突。锁(Lock)是数据库系统为保证数据一致性和完整性,对特定资源(如表、行)设置的访问限制。全局锁是针对整个数据库实例的一种锁机制。全局锁的常见使用场景是数据备份,利用全局锁可以保证备份期间数据的一致性。意向锁是表锁和行锁之间的一种协作机制,用于标记事务对表中某些行的意图。行级锁是最细粒度的锁,用于锁定表中的特定行,减少并发冲突。共享锁(S 锁):允许其他事务读取,但不允许写入。排它锁(X 锁):禁止其他事务的读写。

2024-11-28 00:00:59 1177

原创 5.mysql锁-大纲

锁。

2024-11-26 23:54:27 115

原创 4.3 MySQL 存储函数

存储函数是一种数据库对象,允许用户将常用的 SQL 逻辑封装为可复用的函数,通过调用函数完成特定的计算或业务逻辑。存储函数(Stored Function)是用户定义的一段 SQL 逻辑,返回一个值,可用于查询中直接调用。通过以上内容,您可以快速了解和应用 MySQL 存储函数,在实际业务中实现高效的计算与数据转换。:由一组 SQL 语句组成,包含计算逻辑。创建一个函数,根据员工编号返回员工姓名。创建一个函数,根据销售额计算折扣。创建一个存储函数,计算两数之和。:指定函数的返回值类型。

2024-11-23 22:28:33 486

原创 4.4 MySQL 触发器(Trigger)

以上内容涵盖了 MySQL 触发器的概述、语法、使用场景及实践案例,帮助您更高效地利用触发器实现数据库操作自动化。触发器(Trigger)是由用户定义的一组 SQL 语句,在数据库表上进行某些特定操作时自动触发执行。)触发时自动执行定义好的操作。在表发生数据变更时,将操作记录到日志表中。根据插入或更新的值自动更新其他表或字段。修改某表数据时,自动同步更新关联表数据。表中插入薪资低于 3000 的员工。表中插入新员工时,将操作记录到。表的员工薪资时,将变更记录到。在插入或更新数据前检查合法性。

2024-11-23 22:18:50 617

原创 4.2 MySQL存储过程

存储过程(Stored Procedure)是一段在数据库中保存的SQL语句集合,用户通过调用存储过程来执行这些语句。存储过程是MySQL中用于封装一组 SQL 语句的数据库对象,便于简化重复任务、增强性能和逻辑复用。本文将从多个角度详细解析存储过程的功能、语法和应用场景。以上内容涵盖了MySQL存储过程的核心知识及常用语法,希望对您有所帮助!游标用于处理查询结果集中的每一行数据,通常用于逐行处理复杂的业务逻辑。条件处理器用于捕获存储过程执行中的错误或特殊情况。

2024-11-23 20:26:42 1684

原创 4.1 SQL视图

视图是基于一个或多个表创建的虚拟表,仅存储SELECT查询逻辑,并不存储实际数据。当访问视图时,MySQL动态执行定义视图时的SELECT语句。MySQL视图为我们提供了简化查询逻辑、增强安全性和提高可维护性的强大工具。视图本质是动态生成的结果集,性能依赖基础表的查询效率。合理使用,控制视图更新范围。复杂查询时选择合适的ALGORITHM,权衡性能与功能。通过视图的灵活运用,可以显著提升数据处理的效率和安全性,为复杂业务场景提供优雅的解决方案。

2024-11-21 23:29:31 709

原创 3. SQL优化

MySQL性能优化的核心在于充分利用索引、批量操作和事务控制,同时针对具体场景调整策略。希望本文的案例和原则能帮助你在实际开发中事半功倍!

2024-11-20 23:57:42 1011

原创 3. Sql优化-大纲

插入数据主键优化orderby优化groupby优化limit优化count优化update优化

2024-11-14 23:41:40 160

原创 2.索引:MySQL索引优化详解

索引是一种用于提高数据查询速度的数据结构,类似于书籍的目录。通过索引,数据库能够快速定位目标数据,而不需要全表扫描。提高查询效率:加快数据检索,降低查询的时间复杂度。优化排序:当查询需要排序时,索引可以提升性能。加速聚合查询:如COUNTSUM等聚合操作可以更高效。不过,索引虽然提升查询性能,但会增加写入操作的开销以及存储空间的使用。因此,合理设计索引至关重要。最左前缀索引(Leftmost Prefix Index)是MySQL在多列组合索引中遵循的一种匹配原则。

2024-11-10 00:36:49 927

原创 2.索引:SQL 性能分析详解

SQL性能分析是数据库优化中重要的一环。通过分析SQL的执行频率、慢查询日志、PROFILE工具以及EXPLAIN命令,能够帮助我们识别出数据库性能的瓶颈,并做出有效的优化措施。以下将详细讲解这几种常见的SQL性能分析工具和方法。

2024-11-09 16:20:10 1249 1

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除