当前位置: 首页 > news >正文

【MySQL高级】事务,存储引擎,索引(一)

Mysql高级

DQL查询语句

反引号

image-20250414074629964

模糊查询避免%出现在开头,会造成索引失效

order by排序先后

image-20250413110219322

image-20250414072444951

表名列名都需要用${},他们不能带’’


去重+统计数量

image-20250413110318319

image-20250414072123779


null的运算

image-20250413110601023

分组函数会自动忽略null,不用对null进行处理


截取子串substr(字段,下标,截取长度)

下标从1开始

image-20250413110900025


trim去重字段空格

image-20250413111007763


now()

image-20250413111315490


分组函数和分组查询group by

image-20250413111907510

image-20250413111852126

image-20250413111923464

可以联合分组

image-20250413111947966


having和where区别和使用

having可以用分组函数,但是必须先group by 分组后再用having过滤

而where不可以用分组函数,必须先过滤后用group by 分组

image-20250413112712140

image-20250413112542748

where效率比having高

因为执行顺序,先where后group by 后 having

在这里插入图片描述
image-20250414071249539


连接查询

笛卡尔积,直接from 两张表,没有join和on条件(外键),直接n*n行查询,效率慢

image-20250414081954719

image-20250414070059519

执行顺序先from后select

on条件相等,一般为外键

image-20250414070157215

非等值查询


自连接

image-20250414070336657

外连接

image-20250414070450763

主次关系,需要把员工名全查出来,捎带查领导


多表连接

image-20250414070616777

子查询(select嵌套)

image-20250414072237104

where中子查询

image-20250414072251865

DML增删改语句

在这里插入图片描述
image-20250414073108558

image-20250414073143004


事务

事务的本质就是多条DML语句同时成功或者同时失败

image-20250414075348118

每一句DML语句都会储存在日志文件
提交事务commit或者回滚事务rollback,都会清空日志文件
commit提交到表中(硬盘中),rollback回滚到上次提交,都是结束事务的标志

事务的特性

image-20250414160539197


事务的隔离级别

image-20250414075901639

重复:同一事务中,对相同数据进行多次读取

不可重复读

image-20250414075928139

也就是事务先读取a,被别的事务修改了,再读取同一条记录,得到的结果不一样,所以不可重复读

在这里插入图片描述

每次读到的数据都一样,可重复读会给读取的数据加锁,其他事务无法修改这个数据

幻读就是第一次读取a,发现不存在,于是insert 这个a,发现insert失败,这时候就是另一个事务已经insert了这个a

但是第二次读取a,发现还是不存在,依旧insert失败,好像出现了幻觉

image-20250414080747798

单线程不能并发

image-20250414160641872


三范式

image-20250414080936943

第二范式

修改前(联合主键,部分依赖)

image-20250414081242181

修改后,三张表,关系表两个外键

image-20250414081227757

不能产生复合主键,部分依赖就是某个字段只依赖其中一个主键,和另一个主键没关系

多对多关系,需要设计三张表A表,B表,关系表

多对多,三张表,关系表两外键


第三范式

修改前(班级依赖01,01依赖1001)产生传递依赖

image-20250414081450268

修改后(多的表加外键)

image-20250414081522999

一对多,两张表,多的表加外键


大部分情况下,公司都不会遵循设计三范式

为了满足客户需求,速度要快的情况下,哥们不需要节省空间,有的是空间,不怕数据冗余
可以写在一张表内,就不会出现笛卡尔积现象

因为表与表连接次数越多,效率越慢


存储引擎

以表为单位的,同一个数据库不同表可以有多种不同的存储引擎

mysql体系结构

image-20250414160916253

索引在引擎层


InnoDB存储引擎

支持事务,行级锁,外键

在这里插入图片描述

表结构,数据,索引全部都在表空间文件.ibd中

8.0之后表结构从.frm----->.sdi

逻辑存储结构

image-20250414161500104


MyISAM(MongoDB)

image-20250414161612644

Memory(Redis)

image-20250414161658027

只有一个.sdi表结构数据在硬盘中,数据和索引都在内存中


image-20250414161830120

image-20250414162036597


索引

是一种优化后的B+ Tree数据结构

SQL优化都是根据索引来优化

image-20250414162335081

索引在引擎层实现

image-20250414162738550

image-20250414162815315


B树

二叉树

缺点:1.顺序插入形成单向链表

2.一个节点只能有两个子节点,数据量大时,层级较深,检索速度慢

image-20250414163030688

对于第一个问题,可以使用红黑树,自平衡,但是第二个问题不能解决

image-20250414163121743

B树(多路平衡查找树)(一个节点下可以有多个子节点,解决第二个问题),同样也是自平衡的

度数:树的度数指的是一个节点的子节点个数

image-20250414163429985

数据挂在key下面

B树插入规则

以5阶B树为例,最多四个key

image-20250414163633579 插入1200

插入后中间的数向上分裂(这里是345)

image-20250414163744566


B+树

image-20250414164309307

所有的元素都会出现在叶子节点中,上面的非叶子节点起到索引的作用,叶子节点是存放数据的

形成单向链表

B+树插入规则

image-20250414164350794 插入890

同样,567向上分裂,但是叶子节点也会有567,出现指针,形成单向链表

image-20250414164415634

image-20250414164516090

Mysql索引对B+树做了优化

在这里插入图片描述

叶子节点是双向链表,每一个节点都是存储在页中的


Hash索引数据结构

查询效率高(不发生哈希冲突的情况)

不支持范围查询和排序

在这里插入图片描述

image-20250414190913523

为什么InnoDB存储引擎使用B+树索引结构

image-20250414191152900

对于B树和B+树来说,每个节点都是存储在页page中,而page的大小是固定为16k的,所以对于B树来说,page中存储数据的话,会抢占key和指针的空间

key和指针减少,层级就会增多,导致性能降低


索引分类

image-20250414191615443

单列索引,联合索引都是常规索引

常规索引属于二级索引

image-20250414191641603

聚簇索引,叶子节点保存了整行数据

非聚簇索引,叶子节点保存的是对应的主键id,如果有常规索引,也会保存常规索引字段数据

image-20250414191826300

image-20250414191943348

回表

image-20250414192027477

先查arm 索引找到主键id,然后根据主键id再找到对应的一整行数据


性能调优

主要对于索引来优化查询语句

com后七个_

image-20250414193158497

看当前数据库是插入,更新,删除,谁为主

如果发现查询占主导,就需要进行sql优化


慢查询日志

image-20250414193403261


以上都是根据sql语句的执行时间来判断sql的性能,我们不能只看执行时间

explain 执行计划

image-20250414194219497

在这里插入图片描述

多表查询

image-20250414195347392

id相同,表结构执行顺序从上往下,先执行student,再执行连接表,最后执行course表

子查询(select嵌套)

image-20250414195507317

id不同,值越大越先执行,先执行最内层的表,一层层执行出去

image-20250414195831614


select_type意义不大,只说明当前sql的查询类型

image-20250414195845929


type

在这里插入图片描述

对于正常业务来说,const就是最好的了,NULL是不查表,system是查询系统表

where对主键和唯一索引查询一般是const和eq_ref,对于非唯一性索引一般是ref

index虽然用了索引,但也是对索引进行全表扫描,all是全表扫描


possible_key

在这里插入图片描述

显示可能用到的索引


key

image-20250414200520171

实际用到的索引


image-20250414200550429

image-20250414200714215

image-20250414200652642

返回条数和实际扫描条数占比,越大越好


索引的使用

最左前缀法则(联合索引)

image-20250414202126007

针对于联合索引,查询时从索引最左侧列(必须存在)开始,不跳过索引中间的列,如果跳过某一列,这一列后面的索引将会失效

创建联合索引

image-20250414201453568

profession,age,status,按顺序联合,profession是最左字段

image-20250414201719706

image-20250414201804934

表示status这个字段索引长度是5

在这里插入图片描述

表示age索引长度是2

image-20250414201922127

全表扫描,索引失效,因为没有最左字段

在这里插入图片描述

缺少中间字段,所以之后的索引部分失效,只走了profession的索引

和字段使用顺序无关,只要出现就行


范围查询(联合索引)

针对于联合索引

在这里插入图片描述

image-20250414202351104


索引失效情况

1.对索引列进行运算操作(函数substr等)

image-20250414202656377

2.字符串字段没有加’’

image-20250414203002035

3.头部模糊匹配,索引失效

image-20250414203153366

4.or前后字段都要有索引才会走索引,不然失效

image-20250414203338526

在这里插入图片描述

5.数据分布影响

有时候使用索引比全表扫描还慢,就不会使用索引

比如:当我们要一个条件把全表都查出来(或者表的绝大部分都是满足条件的),肯定走全表扫描比走索引快

is null (因为绝大部分都不是null,不满足)一般走索引

is not null(因为绝大部分都不是null,满足)一般不走索引

所以null要看表中数据绝大部分满不满足,如果满足,就不走,如果不满足,就走索引


SQL提示

可以给一个字段添加多个索引,比如联合索引和单列索引

mysql默认会执行联合索引(前提满足最左前缀法则)

可以指定来使用哪个索引
在这里插入图片描述

在这里插入图片描述

use index 只是一个建议,mysql可能不会用

force index 是必须用


覆盖索引

select返回的字段在索引列中都能找到,而不需要回表查询,这样的索引就是覆盖索引

尽量避免select *

image-20250414220344250

image-20250414220524614

测试

image-20250414220943814

对username和password加联合索引,就不需要回表了


前缀索引

image-20250414221207765

image-20250414221856000

前缀索引中,回表查询拿到row这一行的数据不会直接返回,而是会对比这条数据中前缀索引字段和select语句的字段是否一致,如果一致则返回结果,如果不一致,则顺着二级索引的链表继续查找下一个判断


单列和联合索引的选择

image-20250414222146055

一个字段可以有多个索引,比如自己的单列索引再加上和别人的联合索引

image-20250414222334732

mysql会评估哪个字段的索引效率更高,会选择改索引,也就是phone索引

此时在phone的单列索引中不包含name字段,所以会进行回表查询


我们给phone和name添加上联合索引后,还是使用的phone的单列索引(单列索引干扰),还是会回表

在这里插入图片描述

所以我们可以用sql提示(use index)来指定mysql使用联合索引

所以,如果存在多个查询条件,我们一般建立联合索引(覆盖索引,不会回表查询)


联合索引的数据结构

image-20250414223704692


索引设计原则

在这里插入图片描述

相关文章:

【MySQL高级】事务,存储引擎,索引(一)

Mysql高级 DQL查询语句 反引号 模糊查询避免%出现在开头,会造成索引失效 order by排序先后 表名列名都需要用${},他们不能带’’ 去重统计数量 null的运算 分组函数会自动忽略null,不用对null进行处理 截取子串substr(字段,下标…...

React 之 Redux 第三十二节 Redux 常用API及HOOKS,以及Redux Toolkit核心API使用详解

一、4.X版本中核心 API 和用途 1. createStore(reducer, [preloadedState], [enhancer]) 用途: 创建 Redux Store(数据仓库) 参数: reducer: 状态更新函数 preloadedState: 初始状态(可选) enhancer: 中间件增强器(如…...

react tailwindcss最简单的开始

参考教程: Install Tailwind CSS with Vite - TailwindCSS中文文档 | TailwindCSS中文网https://www.tailwindcss.cn/docs/guides/vite操作过程: Microsoft Windows [版本 10.0.26100.3476] (c) Microsoft Corporation。保留所有权利。D:\gitee\tailwi…...

波束形成(BF)从算法仿真到工程源码实现-第九节-延迟相减波束形成(delay sub)

一、概述 本节对delay sub算法进行仿真。更多资料和代码可以进入https://t.zsxq.com/qgmoN ,同时欢迎大家提出宝贵的建议,以共同探讨学习。 二、代码仿真 import numpy as np import soundfile as sf import scipy import matplotlib.pyplot as pltfft…...

系统假死问题排查

系统假死定义 应用进程存在,但是无法正常提供服务(请求没有响应,或者响应超时)。 系统假死原因 主要分为两大类:连接无法建立、请求无法处理,如下图所示: 系统假死的原因还是比较多的&…...

图像处理有哪些核心技术?技术发展现状如何?

在数字化信息爆炸的时代,文档图像预处理技术正悄然改变着我们处理文字信息的方式。无论是手持拍摄的收据、扫描仪中的身份证,还是工业机器人采集的复杂文档,预处理技术都在背后默默提升着OCR(光学字符识别)系统的性能。…...

解决在linux下运行rust/tauri项目出现窗口有内容,但是渲染出来成纯黑问题

起因 最近折腾了一下rust/tauri程序开发,据说这玩意性能非常牛皮就玩了一下,但是我运行打包一直出现一个奇怪问题,窗口能正常打开,但是是纯黑的什么内容都没有,鼠标移上去又发现指针会变换(看起来是内容又…...

计算机网络:流量控制与可靠传输机制

目录 基本概念 流量控制:别噎着啦! 可靠传输:快递必达服务 传输差错:现实中的意外 滑动窗口 基本概念 换句话说:批量发货排队验收 停止-等待协议 SW(发1份等1份) 超时重传:…...

vue2改变el-message字体、图标尺寸样式(vue2,element-ui)

前言 最近接手一个项目,vue2elementui的,产品觉得message的字体太小了,展示起来看不清,所以需求就是把message的字体和图标变大,实现路径如下: 找到自己的main.scss文件,并且加上对应内容: .e…...

【笔记ing】AI大模型-05单层感知机与多层感知机

单层感知机,是一种最简单的人工神经网络 输入层input layer,输入的样本特征 输出层output layer,输出的预测结果 权值W(w0,w1,w2,...,wn)^T,感知机的权值参数,其中的w0叫做偏置,也称截距,类似…...

分布式热点网络

核心设计理念: 在自然灾害(地震、洪水、台风)、极端环境(无人区)及网络管制(欠费停机)等场景下,传统中心化网络易因核心节点失效导致全局瘫痪。本方案提出构建去中心化设备网络&…...

为 docker 拉取镜像配置代理

为 Docker 配置代理,有 两个层面 的操作:(1) Docker 守护进程(用于拉取镜像等操作),(2) Docker 容器内部(容器内应用的网络流量)。 我们这篇文章着重于前者,以下是详细步骤&#xff…...

人工智能与云计算:技术融合与实践

1. 引言 人工智能(AI)和云计算是当今科技领域最具变革性的两项技术。AI通过模拟人类智能解决问题,而云计算则提供了弹性可扩展的计算资源。两者的结合创造了前所未有的可能性,使企业能够以更低的成本部署复杂的AI解决方案。 本文将探讨AI与云计算的技术融合,包括核心概念、…...

GIT的一些操作

git仓库迁移,包括所有分支和标签 git clone --mirror http://git./test-frontend.git test-frontend 克隆项目到 test-frontend文件夹下,--mirror 表示所有分支和标签 cd test-frontend 切到目录下 git remote add bd http://git./new-frontend.git …...

大模型——Crawl4AI入门指南

大模型——Crawl4AI入门指南 本快速入门指南介绍了Crawl4AI,涵盖了基本用法、先进功能(例如分块和提取策略)以及异步编程。用户将学习如何实现各种爬虫技术,包括截图、JSON提取和动态内容爬取。 1. 什么是Crawl4AI? Crawl4AI 是一个强大的异步网络爬虫库,旨在简化信息…...

48、Spring Boot 详细讲义(五)

3、集成MyBatis 3.1 MyBatis 概述 3.1.1 核心功能和优势 MyBatis 是一个 Java 持久层框架,它通过 XML 或注解配置 SQL 语句,将 Java 方法与 SQL 语句映射起来,消除了大量的 JDBC 代码,简化了数据库操作。MyBatis 的核心功能和优势包括: ORM(对象关系映射):通过 XML …...

设计模式-桥接模式

例如形状和颜色,如果这么设计? 将两个具有紧耦合的设计,使用组合,为桥接模式 客户端的代码: 抽象:形状是抽象; 实现:实现颜色的代码...

3.vtkProp 和vtkProp3D

文章目录 vtkProp 和vtkProp3D使用vtkProp3D使用vtkPro vtkProp 和vtkProp3D vtkProp 和 vtkProp3D 都是VTK(Visualization Toolkit)库中的类,它们用于在渲染场景中表示可视化元素。理解这两个类的区别和用途对于有效地使用VTK进行三维数据可…...

大模型之Transformers , PyTorch和Keras

Transformers、PyTorch 和 Keras 的对比 特性TransformersPyTorchKeras主要应用自然语言处理(NLP)任务计算机视觉、NLP、强化学习等快速原型设计和深度学习模型构建架构基于 Transformer 模型,强大的自注意力机制动态计算图,灵活的模型构建和调试高层次 API,简化模型开发,…...

云原生(Cloud Native)的详解、开发流程及同类软件对比

以下是云原生(Cloud Native)的详解、开发流程及同类软件对比: 一、云原生核心概念 定义: 云原生(Cloud Native)是基于云环境设计和运行应用程序的方法论,强调利用云平台的弹性、分布式和自动化…...

从文本到视频:基于扩散模型的AI生成系统全解析(附PyTorch实现)

当语言遇见动态视觉 "用文字生成电影场景"曾是科幻作品中的幻想,如今借助扩散模型(Diffusion Models)正逐步成为现实。本文将手把手带你实现一个创新的文本到视频生成系统,通过深度解析扩散模型原理,结合独…...

ES6学习04-数组扩展:扩展运算符、新增方法

一、扩展运算符 1. 2. eg: 3. 二、新增方法 1. arguments 元素组合 类似数组对象 2....

TiDB 部署指南(单机模式) CentOS 7 安装 MariaDB 教程

文章目录 TiDB 部署指南(单机模式)& CentOS 7 安装 MariaDB 教程简介TiDB 关键特性TiDB 单机部署步骤下载 TiDB 安装包校验文件完整性解压并进入目录启动 PD 服务启动 TiKV 服务启动 TiDB 服务使用 MySQL 客户端连接 TiDB CentOS 7 安装 MariaDB&…...

C++23 新特性:auto(x) 和 auto{x} 的衰变复制

文章目录 一、什么是衰变复制二、为什么引入衰变复制三、auto(x) 和 auto{x} 的区别四、使用场景1. 模板编程中的副本创建2. 避免引用失效3. 并发编程中的线程构造 五、性能考虑六、总结 在 C23 中, auto(x) 和 auto{x} 的引入为语言带来了新的便利性和灵活性。这…...

人工智能驱动的科研新范式及学科应用研究

人工智能(AI)驱动的科研新范式通过数据、算力、算法的深度耦合深度嵌入科学研究的全过程,引发科研流程、思考逻辑和组织模式的深刻变革。文章系统总结了AI驱动科研新范式的主要特征与形式,提出AI驱动科研新范式的演化方向由“科研…...

2025.04.14【Animation】| 动画式生信数据可视化

Cheatsheet base R A cheatsheet to remember a few chart parameters. 文章目录 Cheatsheet base R 动画式生信数据可视化:R语言中的动态图表详解1. R语言和数据可视化基础2. R中的ggplot2包3. R中的dplyr包4. R中的颜色和形状5. R中的动画包gganimate6. 生物信息…...

Kotlin作用域函数

在 Kotlin 中,.apply 是一个 作用域函数(Scope Function),它允许你在一个对象的上下文中执行代码块,并返回该对象本身。它的设计目的是为了 对象初始化 或 链式调用 时保持代码的简洁性和可读性。 // 不使用 apply va…...

SCP-Firmware安全通告:CVE-2024-11863和CVE-2024-11864

安全之安全(security)博客目录导读 目录 一、概述 二、CVE详情 三、受影响产品 四、修复建议 五、致谢 六、版本历史 一、概述 在SCP固件(SCP-Firmware)中发现两处安全漏洞,可能允许普通世界特权软件(normal world privileged software&#xff…...

报错:Nlopt

报错:Nlopt CMake Error at TGH-Planner/fast_planner/bspline_opt/CMakeLists.txt:20 (find_package):By not providing "FindNLopt.cmake" in CMAKE_MODULE_PATH this project hasasked CMake to find a package configuration file provided by "…...

软考高级系统架构设计师-第12章 系统质量属性与架构评估

【本章学习建议】 根据考试大纲,本章不仅考查系统架构设计师单选题,预计考11分左右,而且案例分析和论文写作也是必考,对应第二版教材第8章,属于重点学习的章节。 12.1 软件系统质量属性 12.1.1 质量属性概念 软件系…...

RockyLinux9 部署 Zabbix7 完整步骤

一、Zabbix介绍 Zabbix 是企业级开源监控解决方案,支持实时监控数台服务器,虚拟机和网络设备,开源免费,官方手册 https://www.zabbix.com/documentation/7.0/zh/manual 二、RockyLinux9部署Zabbix 1、进入到相对的系统下&#…...

「小推桌面官方下载」小推桌面TV版-安卓电视版官方免费下载新版

下面小编将给大家详细介绍小推桌面免费下载新版 1. 查找官网:通过搜索引擎查找小推桌面的官方网站。注意要确保进入的是官方正规网站,避免从不可信的来源下载应用,以防安全风险。 2. 下载安装包:在官网中找到适合安卓电视版的小…...

Java多线程学习指南

🤟致敬读者 🟩感谢阅读🟦笑口常开🟪生日快乐⬛早点睡觉 📘博主相关 🟧博主信息🟨博客首页🟫专栏推荐🟥活动信息 文章目录 Java多线程学习指南**一、入门基础**1. **线…...

HTTPS实现安全的关键方法及技术细节

HTTPS(HyperText Transfer Protocol Secure)通过多种技术手段实现数据传输的安全性,其核心机制基于SSL/TLS协议,并结合数字证书、加密算法等技术。 SSL:Secure Sockets Layer,安全套接字层 TLS:…...

记录:安装 Docker Desktop 时直接设置安装路径及容器存储路径

近期学用 deepseek 本地知识库的构建,准备尝试几个不同的 RAG 工具,结果基本都需要 Docker 支持,故又重新拾起 Docker 来安装,刚好看到个不用目录链接就可以直接设置安装路径的方法,就记录一下,以免以后忘…...

日志分析-mysql应急响应

日志分析-mysql应急响应 任务: 1.黑客第一次写入的shell flag{关键字符串} 2.黑客反弹shell的ip flag{ip} 3.黑客提权文件的完整路径 md5 flag{md5} 注 /xxx/xxx/xxx/xxx/xxx.xx 4.黑客获取的权限 flag{whoami后的值} 黑客第一次写入的shell flag{关键字符串} …...

【C++ 】智能指针:内存管理的 “自动导航仪”

目录 一、引入 二、智能指针的两大特性: 1、RAII 特点: 好处: 2、行为像指针 三、智能指针起初的缺陷:拷贝问题 四、几种智能指针的介绍。 1、C98出现的智能指针——auto_ptr auto_ptr解决上述拷贝构造的问题&#xff1a…...

macOS 上使用 Homebrew 安装和配置 frp 客户端

macOS 上使用 Homebrew 安装和配置 frp 客户端 (frpc) 指南 frp (Fast Reverse Proxy) 是一款高性能的反向代理应用,常用于内网穿透。本文将介绍在 macOS 上使用 Homebrew 安装 frpc,并进行配置和管理。 一、安装 frpc 使用 Homebrew 安装(…...

OSI参考模型

1.1 OSI参考模型 OSI(Open System Interconnection,开放式系统互联),由ISO(International Organization for Standardization,国际标准化组织)收录在ISO 7489标准中并于1984年发布。OSI参考模…...

《探秘鸿蒙分布式软总线:开启无感发现与零等待传输新时代》

在数字化浪潮中,设备之间的互联互通成为构建智能生态的关键。鸿蒙系统中的分布式软总线技术,宛如一座桥梁,让各种智能设备紧密相连。尤其是其实现的设备间无感发现和零等待传输功能,更是为用户带来了前所未有的便捷体验&#xff0…...

QML ListView:列表视图的数据交互与样式定制

目录 引言相关阅读项目结构示例一:ListView样式定制代码解析运行效果 示例二:ListView数据交互代码解析运行效果 总结 引言 在现代应用程序开发中,列表视图是最常见且实用的UI组件之一。Qt Quick(QML)提供了强大的Lis…...

C#集合List<T>与HashSet<T>的区别

在C#中,List和HashSet都是用于存储元素的集合,但它们在内部实现、用途、性能特性以及使用场景上存在一些关键区别。 内部实现 List:基于数组实现的,可以包含重复的元素,并且元素是按照添加的顺序存储的。 HashSet&…...

【C++进阶六】list模拟实现

【C进阶六】list模拟实现 1.list的大致框架结构2.节点类3. 迭代器4.list内各种功能的实现1.push_back(正常实现)2.insert3.begin()和end()4.push_back和push_front(复用insert)5.erase6. pop_back与pop_front (复用erase)7.clear 清空数据8.swap9.无参构造10.析构函数11.含参构…...

Spring 事件机制与观察者模式的深度解析

一、引言 在软件设计中,观察者模式(Observer Pattern)是一种非常经典且实用的设计模式。它允许一个对象(Subject)在状态发生改变时通知所有依赖它的对象(Observers),从而实现对象之…...

危险作业自动化如何重构工业安全新生态

在化工车间的反应器旁,巡检员正戴着防毒面具靠近高温罐体;在矿山深处,凿岩工人在粉尘弥漫中操控机械臂;在高架桥梁上,检修人员正攀爬至数十米高空排查隐患…… 这些场景中,每一个动作都伴随着不可预估的安全…...

Trae 下安装 Pylance 插件(仅作为实验,版权由微软所有)

目录 背景0. Trae 环境准备1. 从VSCode市场获取插件安装包2. 直接安装插件至Trae会失败3. 解压 vsix 文件4. 直接移动安装参考文献: 背景 基于 VSCode 改版但使用 Open VSX 的编辑器(如 trae、Cursor)会遇到以下限制1: 微软官方…...

多模态大语言模型arxiv论文略读(十八)

Large Model Based Referring Camouflaged Object Detection ➡️ 论文标题:Large Model Based Referring Camouflaged Object Detection ➡️ 论文作者:Shupeng Cheng, Ge-Peng Ji, Pengda Qin, Deng-Ping Fan, Bowen Zhou, Peng Xu ➡️ 研究机构: Ts…...

oracle查询锁表和解锁

oracle查询锁表和解锁 1.数据库表被锁后------解锁第一步第二步 2.查锁语句 1.数据库表被锁后------解锁 第一步 select t2.username, t2.sid, serial#, t2.logon_time from v l o c k e d o b j e c t t 1 , v locked_object t1, v lockedo​bjectt1,vsession t2 where t1.S…...

mysql 数据库localhost密码忘记

使用此查询语句: SELECT user, authentication_string FROM mysql.user WHERE user root; 复制对应的密码: 密码是通过md5加密后的 md5在线解密破解,md5解密加密 将密码输入进来 就可以直接破解了...

如何把pdf的内容转化成结构化数据进行存储到mysql数据库

一、PDF解析与数据提取 ‌文本提取工具选择‌ 使用Python的pdfplumber或PyPDF2库进行基础文本提取‌。 pythonCopy Code import pdfplumber def extract_text(pdf_path): with pdfplumber.open(pdf_path) as pdf: return [page.extract_text() for page in pdf.pages if page.e…...