八股学习 Mysql
八股学习 Mysql
- 常见面试问题
- 优化
- 其他
- 定位慢查询
- 方案一:开源工具
- 方案二:MySQL自带慢日志
- SQL执行计划
- 示例场景
- 名词解释
- 索引
- 概念
- 底层数据结构
- 聚簇索引、二级索引(非聚簇索引)
- 覆盖索引
- 覆盖索引应用场景
- 创建原则
- 索引失效
- SQL优化
- 表的设计优化
- 索引优化
- SQL语句优化
- 主从复制、读写分离
- 分库分表
- 事务
- 事务特性ACID
- 并发事务问题、隔离级别
- undo log 与 redo log
常见面试问题
优化
- 定位慢查询;
- SQL执行计划;
- 索引:存储引擎、索引底层数据结构、聚簇和非聚簇索引、索引创建原则、索引失效场景;
- SQL优化经验;
其他
- 事务相关:事务特性、隔离级别、NVCC;
- 主从同步原理;
- 分库分表;
定位慢查询
慢查询通常出现于聚合查询、多表查询、表数据量过大查询、深度分页查询等情况下,表现为:页面加载过慢,接口压测响应时间过长;
方案一:开源工具
- 调试工具:Arthas
- 运维工具:Prometheus、Skywalking
方案二:MySQL自带慢日志
慢查询日志记录了所有执行时间超过指定参数(long_query_time,单位:秒,默认10秒)的所有SQL语句的日志如果要开启慢查询日志,需要在MySQL的配置文件(/etc/my.cnf)中配置如下信息:
#开启MySQL慢日志查询开关
slow_query_log=1
#设置慢日志的时间为2秒,SQL语句执行时间超过2秒,就会视为慢查询,记录慢查询日志
long_query_time=2
SQL执行计划
SQL执行很慢,如何分析呢?
- 可以采用MySQL自带的分析工具EXPLAIN;
- 通过type字段查看sql是否有进一步的优化空间,是否存在全索引扫描或全盘扫描;
- 通过extra建议判断,是否出现了回表的情况,如果出现了,可以尝试添加索引或修改返回字段来修复;
示例场景
直接在select语句前加上关键字explain/desc
EXPLAIN SELECT 字段列表 FROM 表名 WHERE 条件 ;
名词解释
- possible_key: 当前sql可能会使用到的索引;
- key: 当前sql实际命中的索引;
- key_len:索引占用大小;
- Extra: 额外的优化建议;
Using where;Using Index
: 查找使用了索引,需要的数据都在索引列中能找到,不需要回表查询数据;Using index condition
: 查找使用了索引,但是需要回表查询数据;
- type: 这条sql的连接的类型,性能由好到差为NULL、system、cosnt、eq_ref、ref、range、index、all
- system: 查询系统中的表;
- const: 根据主键查询
- eq_ref: 主键索引查询或唯一索引查询
- ref: 索引查询
- range: 范围查询
- index: 索引树扫描
- all: 全盘扫描
索引
概念
- 帮助MySQL高效获取数据的数据结构(有序);
- 提高数据检索的效率,降低数据库的IO成本(不需要全表扫描)
- 通过索引列对数据进行排序,降低数据排序的成本,降低了CPU的消耗;
底层数据结构
MySQL的InnoDB引擎采用的B+树的数据结构来存储索引:
- 阶数更多,路径更短;
- 磁盘读写代价B+树更低,非叶子节点只存储指针,叶子阶段存储数据;
- B+树便于扫库和区间查询,叶子节点是一个双向链表;
聚簇索引、二级索引(非聚簇索引)
以下面的表结构为例进行演示:
聚簇索引:将数据存储与索引放到了一块,索引结构的叶子节点保存了行数据(必须存在且只能存在一个);
聚簇索引选取规则:
- 如果存在主键,主键索引就是聚集索引;
- 如果不存在主键,将使用第一个唯一(UNIQUE)索引作为聚集索引;
- 如果表没有主键,或没有合适的唯一索引,则InnoDB会自动生成一个rowid作为隐藏的聚集索引;
二级索引:将数据与索引分开存储,索引结构的叶子节点关联的是对应的主键(可以存在多个);
回表查询:通过二级索引找到对应的主键值,到聚簇索引中查找整行数据;
例如:select * from user where name = 'Arm
覆盖索引
覆盖索引是指查询使用了索引,并且需要返回的列在该索引中已经全部可以找到;
以下列数据表格为例进行演示:
其中,我们分别执行三条语句:
select * from tb user where id = 1
(覆盖索引)
select id,name from tb user where name = 'Arm’
(覆盖索引)
select id,name,gender from tb user where name = 'Arm'
(覆盖索引)
这是因为前两条语句通过聚簇(聚集)索引或者二次(辅助)索引,不需要产生回表查询便可以得到所有数据,而gender无法通过辅助索引一次性查到,需要回表查询使用主键id才能查到;
覆盖索引应用场景
问题:在数据量比较大时,limit分页查询需要对数据进行排序,效率低;
解决方案:覆盖索引+子查询,先分页查询数据的id字段,确定了id之后,再用子查询来过滤,只查询这个id列表中的数据就可以了,因为查询id的时候,走的覆盖索引,所以效率可以提升很多;
创建原则
- (重要)针对于数据量较大,且查询比较频繁的表建立索引;(单表超过10万数据)
- (重要)针对于常作为查询条件(where)、排序(order by)、分组(group by)操作的字段建立索引;
- 尽量选择区分度高的列作为索引,尽量建立唯一索引,区分度越高,使用索引的效率越高;
- 如果是字符串类型的字段,字段的长度较长,可以针对于字段的特点,建立前缀索引;
- (重要)尽量使用联合索引,减少单列索引,查询时,联合索引很多时候可以覆盖索引,节省存储空间,避免回表,提高查询效率;
- (重要)要控制索引的数量,索引并不是多多益善,索引越多,维护索引结构的代价也就越大,会影响增删改的效率;
- 如果索引列不能存储NULL值,请在创建表时使用NOT NULL约束它;当优化器知道每列是否包含NULL值时,它可以更好地确定哪个索引最有效地用于查询;
索引失效
- 违反最左前缀法则;
- 范围查询右边的列,不能使用索引;
- 不要在索引列上进行运算操作,索引将失效;
- 字符串不加单引号,造成索引失效(类型转换);
- 以%开头的Like模糊查询(不一定,是可能失效);
SQL优化
表的设计优化
- 设置合适的数值(tinyint int bigint),根据实际情况选择;
- 设置合适的字符串类型(char varchar)char定长效率高,varchar可变长度,效率稍低;
索引优化
参考优化创建原则和索引失效
SQL语句优化
- SELECT语句务必指明字段名称(尽可能避免直接使用select *,减少回表查询)
- SQL语句要避免索引失效的写法
- 尽量用union all代替union, union会多一次过滤,效率低;
- 避免在where子句中对字段进行表达式操作
- Join优化 能用inner join 就不用left join right join,如必须使用,一定要以小表为驱动,内连接会对两个表进行优化,优先把小表放到外边,把大表放到里边。
主从复制、读写分离
如果数据库的使用场景读的操作比较多的时候,为了避免写的操作所造成的性能影响,可以采用读写分离的架构。
读写分离解决的是,数据库的写入,影响了查询的效率。
分库分表
事务
事务特性ACID
- 原子性(Atomicity):事务是不可分割的最小操作单元,要么全部成功,要么全部失败;
- 一致性(Consistency):事务完成时,必须使所有的数据都保持一致状态;
- 隔离性(solation):数据库系统提供的隔离机制,保证事务在不受外部并发操作影响的独立环境下运行;
- 持久性(Durability):事务一旦提交或回滚,它对数据库中的数据的改变就是永久的;
并发事务问题、隔离级别
并发事务存在以下几种问题:
- 脏读:一个事务读到另外一个事务还没有提交的数据;
- 不可重复读:一个事务先后读取同一条记录,但两次读取的数据不同;
- 幻读:一个事务按照条件查询数据时,没有对应的数据行,但是在插入数据时,又发现这行数据已经存在,好像出现了”幻影”。
解决方法是将事务进行隔离,不同的隔离级别可以不同程度解决相关问题:(× √ 表示存在/不存在相关问题),数据隔离级别越高,数据越安全,但是性能越低;
undo log 与 redo log
- 缓冲池(buffer pool):主内存中的一个区域,里面可以缓存磁盘上经常操作的真实数据,在执行增删改査操作时,先操作缓冲池中的数据(若缓冲池没有数据,则从磁盘加载并缓存),以一定频率刷新到磁盘,从而减少磁盘IO,加快处理速度;
- 数据页(page):是InnoD8 存储引擎磁盘管理的最小单元,每个页的大小默认为 16KB;页中存储的是行数据;
- redo log:重做日志,记录的是事务提交时数据页的物理修改,是用来实现事务的持久性,该日志文件由两部分组成:重做日志缓冲(redolog bufer)以及重做日志文件(redolog file),前者是在内存中,后者在磁盘中。当事务提交之后会把所有修改信息都存到该日志文件中,用于在刷新脏页到磁盘,发生错误时,进行数据恢复使用;
- undo log:回滚日志,用于记录数据被修改前的信息,作用包含两个:提供回滚 和 MVCC(多版本并发控制)。undo log和redo log记录物理日志不一样,它是逻辑日志。可以实现事务的一致性和原子性;可以认为当delete一条记录时,undo log中会记录一条对应的insert记录,反之亦然,当执行roll back时,就可以从undo log中的逻辑记录读取到相应的内容。当update一条记录时,它记录一条对应相反的update记:并进行回滚。
相关文章:
八股学习 Mysql
八股学习 Mysql 常见面试问题优化其他 定位慢查询方案一:开源工具方案二:MySQL自带慢日志 SQL执行计划示例场景名词解释 索引概念底层数据结构聚簇索引、二级索引(非聚簇索引)覆盖索引覆盖索引应用场景创建原则索引失效 SQL优化表…...
主从复制
简述mysql 主从复制原理及其工作过程,配置一主两从并验证。 主从原理:MySQL 主从同步是一种数据库复制技术,它通过将主服务器上的数据更改复制到一个或多个从服务器,实现数据的自动同步。 主从同步的核心原理是将主服务器上的二…...
服务器数据恢复—Zfs文件系统数据恢复案例
服务器数据恢复环境&故障: 一台zfs文件系统的服务器,管理员误操作删除了服务器上的数据。 服务器数据恢复过程: 1、将故障服务器中所有硬盘做好标记后取出,硬件工程师检测后没有发现有硬盘存在硬件故障。以只读方式将所有硬盘…...
Linux安装docker,安装配置xrdp远程桌面
Linux安装docker,安装配置xrdp远程桌面。 1、卸载旧版本docker 卸载旧版本docker命令 yum remove docker \docker-client \docker-client-latest \docker-common \docker-latest \docker-latest-logrotate \docker-logrotate \docker-engine现在就是没有旧版本的d…...
Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决
Windows11电脑总是一闪一闪的,黑一下亮一些怎么解决 1. 打开设备管理器2. 点击显示适配器3. 更新下方两个选项的驱动3.1 更新驱动Inter(R) UHD Graphixs3.2 更新驱动NVIDIA GeForce RTX 4060 Laptop GPU 4. 其他文章快来试试吧🥰 1. 打开设备管理器 在电…...
Low-Level 大一统:如何使用Diffusion Models完成视频超分、去雨、去雾、降噪等所有Low-Level 任务?
Diffusion Models专栏文章汇总:入门与实战 前言:视频在传输过程中常常因为各种因素(如恶劣天气、噪声、压缩和传感器分辨率限制)而出现质量下降,这会严重影响计算机视觉任务(如目标检测和视频监控)的性能。现有的视频修复方法虽然取得了一些进展,但通常只能针对特定的退…...
使用 Blazor 和 Elsa Workflows 作为引擎的工作流系统开发
开发一个完整的工作流系统使用 Blazor 和 Elsa Workflows 作为引擎,可以实现一个功能强大的工作流管理和设计系统。下面将提供详细的步骤和代码实现,展示如何在 Blazor 中开发一个基于 Elsa Workflows 的工作流系统。 项目概述 我们的工作流系统将包含以…...
调试Hadoop源代码
个人博客地址:调试Hadoop源代码 | 一张假钞的真实世界 Hadoop版本 Hadoop 2.7.3 调试模式下启动Hadoop NameNode 在${HADOOP_HOME}/etc/hadoop/hadoop-env.sh中设置NameNode启动的JVM参数,如下: export HADOOP_NAMENODE_OPTS"-Xdeb…...
mkv转码mp4(ffmpeg工具)
基于windows,Linux也可以用,都是命令行 下载路径(https://github.com/BtbN/FFmpeg-Builds/releases) 下载安装包:ffmpeg-n6.1-latest-win64-lgpl-6.1.zip,(根据自己的平台选择下载)并…...
前端项目搭建和基础配置
这个模块主要是介绍从零开始搭建项目的一些操作,包含一些前端常用的配置,这里只是一部分,会在后续的文章中逐步进行补充和完善 一、创建项目 在项目路径下使用以下命令生成前后端项目 npm create vite输入项目名称,框架选择Vue…...
计算机网络 (49)网络安全问题概述
前言 计算机网络安全问题是一个复杂且多维的领域,它涉及到网络系统的硬件、软件以及数据的安全保护,确保这些元素不因偶然的或恶意的原因而遭到破坏、更改或泄露。 一、计算机网络安全的定义 计算机网络安全是指利用网络管理控制和技术措施,保…...
【Qt】02-信号与槽函数
发生的原因与事件 前言一、什么是信号与槽(Signals and Slots)?1.1 信号(Signals)1.2 槽(Slots)1.3 连接方式 二、调用基本的信号与槽函数2.1 代码分析connect()的用法 2.2 结果展示 三、自定义…...
CVPR 2024 机器学习方向总汇(多任务、联邦学习、迁移学习和对抗等)
1、Machine Learning(机器学习)多任务、联邦学习、迁移学习和对抗等 Molecular Data Programming: Towards Molecule Pseudo-labeling with Systematic Weak Supervision 👍摘要Improving Physics-Augmented Continuum Neural Radiance Field-Based Geometry-Agnos…...
spring中bean的循环依赖细节描述
首先,循环依赖不是一件好事,设计上几乎不会这么设计。但是总有时候要碰到一起奇怪的循环依赖。 spring bean循环依赖之所以能实现,也是有条件的,构造函数的依赖显然不行。而bean生命周期的实例化和属性设置是分阶段的,…...
LeetCode - #187 Swift 实现重复的DNA序列
网罗开发 (小红书、快手、视频号同名) 大家好,我是 展菲,目前在上市企业从事人工智能项目研发管理工作,平时热衷于分享各种编程领域的软硬技能知识以及前沿技术,包括iOS、前端、Harmony OS、Java、Python等…...
【gin】gin中使用protbuf消息传输go案例
在 Gin 中使用 Protobuf 进行高效消息传输 Protobuf(Protocol Buffers)是一种高效的二进制序列化协议,广泛用于高性能场景的数据传输。相比 JSON,Protobuf 具有更小的体积和更快的解析速度,非常适合服务间通信或前后端…...
Vue.js 动态设置表格最大高度的实现
概述 在现代 Web 开发中,响应式设计至关重要,尤其是在处理复杂的布局和数据表格时。表格通常会受到多种因素的影响,如分页、合计行或动态内容,这可能导致表格高度的变化。本文将介绍一个基于 Vue.js 的方法 setMaxHeight…...
Springboot 注解缓存使用教程
Spring Boot Cache 注解使用教程 Spring Boot 提供了强大的缓存抽象,开发者可以通过注解快速实现缓存功能,从而提高系统性能。本教程将全面介绍 Spring Boot 提供的缓存相关注解及其作用,并结合示例讲解实际应用。 1. 常用缓存注解概览 Spring Boot 缓存提供以下核心注解…...
TCP协议与TCP SYN Flood攻击
✍作者:柒烨带你飞 💪格言:生活的情况越艰难,我越感到自己更坚强;我这个人走得很慢,但我从不后退。 📜系列专栏:网络安全从菜鸟到飞鸟的逆袭 目录 一, TCP握手二…...
Cloud Foundry,K8S,Mesos Marathon弹性扩缩容特性对比
一、Cloud Foundry 使用Scaling an Application Using App Autoscaler插件,基于资源使用情况触发简单扩缩容 CPU、内存、Http带宽、延时等 监控这些资源的使用情况决定扩缩容策略:实例是增加还是减少 Instance Limits 限制实例数量范围,定义…...
python轻量级框架-flask
简述 Flask 是 Python 生态圈中一个基于 Python 的Web 框架。其轻量、模块化和易于扩展的特点导致其被广泛使用,适合快速开发 Web 应用以及构建小型到中型项目。它提供了开发 Web 应用最基础的工具和组件。之所以称为微框架,是因为它与一些大型 Web 框架…...
Git实用指南:忽略文件、命令别名、版本控制、撤销修改与标签管理
目录 1.忽略特殊文件 1.1.那如何配置我们需要忽略的文件的呢? 1.2.如何检验效果? 2.给命令配置别名 3.基本操作之版本回退 3.1.使用场景: 3.2.使用方法: 4.撤销修改 情况一:对于工作区的代码,还没…...
神经网络常见面试题
梯度消失和梯度爆炸 1. 梯度消失(Vanishing Gradient) 定义: 梯度消失是指在反向传播过程中,梯度逐渐变得非常小,导致前面几层的权重更新非常缓慢,甚至几乎不更新,从而影响网络的学习过程。特…...
数据结构漫游记:动态实现栈(stack)
嘿,各位技术潮人!好久不见甚是想念。生活就像一场奇妙冒险,而编程就是那把超酷的万能钥匙。此刻,阳光洒在键盘上,灵感在指尖跳跃,让我们抛开一切束缚,给平淡日子加点料,注入满满的pa…...
PyTorch使用教程- Tensor包
### PyTorch使用教程- Tensor包 PyTorch是一个流行的深度学习框架,它提供了一个易于使用的API来创建和操作张量(Tensors)。张量是一个多维数组,类似于NumPy中的ndarray,但它是基于GPU的,支持自动求导。本文…...
在 Vue 3 项目中集成和使用 vue3-video-play
前言 随着视频内容的普及,视频播放功能在现代 Web 应用中变得越来越重要。如果你正在开发一个 Vue 3 项目,并且需要快速集成视频播放功能,vue3-video-play 是一个轻量级且易于使用的 Vue 3 组件。本文将介绍如何在 Vue 3 项目中使用 vue3-vi…...
02_登录窗口
新建场景 重命名为GameRoot 双击GameRoot进入新场景 同样摄像机清除格式 删除平行光并关闭渲染灯光的天空盒 新建空节点重命名为GameRoot GameRoot为游戏的根节点 在整个游戏中都不会被删除 在游戏的根节点下创建UI的根节点Canvas 创建一个空节点 作为UI根节点下的 登录场景UI…...
基于 JFinal 的国产微服务框架
Jboot 是一个基于 JFinal、Dubbo、Seata、Sentinel、ShardingSphere、Nacos 等开发的国产框架。 其特点是: 1、基于 JFinal 完整的 MVC ORM 支持。2、支持多数据源、分库分表和分布式事务。3、支持 Dubbo RPC 的完整功能,有超过 1亿 用户产品正在使用…...
ASP.NET Core - 配置系统之配置提供程序
ASP.NET Core - 配置系统之配置提供程序 3. 配置提供程序3.1 文件配置提供程序3.1.1 JSON配置提供程序3.1.2 XML配置提供程序3.1.3 INI配置提供程序 3.2 环境变量配置提供程序3.3 命令行配置提供程序3.4 内存配置提供程序3.5 配置加载顺序 3.6 默认配置来源 3. 配置提供程序 前…...
Axios 封装:处理重复调用与内容覆盖问题
问题描述&背景 下拉选择框,支持搜索,搜索时携带参数调用接口并更新下拉选项下拉选择连续进行多次搜索,先请求但响应时间长的返回值会覆盖后请求但响应时间短的举例: 搜索后先清空选项,再输入内容进行搜索。清空后…...
MySQL程序之:使用DNS SRV记录连接到服务器
在域名系统(DNS)中,SRV记录(服务位置记录)是一种资源记录,它使客户端能够指定指示服务、协议和领域的名称。DNS查找该名称会返回一个回复,其中包含该领域中提供所需服务的多个可用服务器的名称。…...
Swift Parameter-free Attention Network模型详解及代码复现
研究动机 在深度学习领域,超分辨率技术的发展面临着 模型复杂度与推理速度 之间的权衡。传统的基于注意力的超分辨率网络虽然能提高性能,但往往需要较大的感受野和参数化的注意力图,这可能导致推理速度下降。 为了解决这一问题,研究人员提出了Swift Parameter-free Atten…...
React进阶之react.js、jsx模板语法及babel编译
React React介绍React官网初识React学习MVCMVVM JSX外部的元素props和内部的状态statepropsstate 生命周期constructorgetDerivedStateFromPropsrendercomponentDidMount()shouldComponentUpdategetSnapshotBeforeUpdate(prevProps, prevState) 创建项目CRA:create-…...
渗透测试之XEE[外部实体注入]漏洞 原理 攻击手法 xml语言结构 防御手法
目录 原理 XML语言解释 什么是xml语言: 以PHP举例xml外部实体注入 XML语言结构 面试题目 如何寻找xxe漏洞 XEE漏洞修复域防御 提高版本 代码修复 php java python 手动黑名单过滤(不推荐) 一篇文章带你深入理解漏洞之 XXE 漏洞 - 先知社区 原理 XXE&…...
macOS安装Gradle环境
文章目录 说明安装JDK安装Gradle 说明 gradle8.5最高支持jdk21,如果使用jdk22建议使用gradle8.8以上版本 安装JDK mac系统安装最新(截止2024.9.13)Oracle JDK操作记录 安装Gradle 下载Gradle,解压将其存放到资源java/env目录…...
openwrt下oaf插件编译安装,实现上网行为监控
文章目录 入门级APP青少年模式设备屏幕使用时间电脑浏览器使用时间限制Surpal 介绍安装使用进阶级专业级旁路由方案openwrt路由器固件编译OAF(Open App Filter)安装编译带有oaf的固件固件烧写设备上电启动应用特征库设置黑白名单及应用访问限制骨灰级ref守护孩子视力,用科技“…...
Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测
Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测 目录 Top期刊算法!RIME-CNN-BiLSTM-Attention系列四模型多变量时序预测预测效果基本介绍程序设计参考资料 预测效果 基本介绍 基于RIME-CNN-BiLSTM-Attention、CNN-BiLSTM-Attention、R…...
GPT-4o背后的语音技术
GPT-4o背后的语音技术 GPT-4o是一个any2any的多模态模型,能够接受文本、音频、图像、视频等多模态输入,也能够生成包含文本、语音、图像和视频等混合内容的多模态输出。本文主要谈语音多模态的实现,并分享一些对于语音研究未来发展的看法。 GPT-4o (“o” 代表 “omni”) …...
数据库存储上下标符号,sqlserver 2008r2,dm8
sqlserver 2008r2: 数据类型需要用nvarchar插入数据时字符串前需要用N create table test( col1 varchar(50), col2 nvarchar(50) ) insert into test(col1,col2) values(U⁴⁵⁶⁷⁸⁹⁰D₁₂₃₄₅₆₇₈₉₀,U⁴⁵⁶⁷⁸⁹⁰D₁₂₃₄₅₆₇₈₉₀) insert into…...
【25】Word:林涵-科普文章❗
目录 题目 NO1.2.3 NO4.5.6 NO7.8 NO9.10 NO11.12 不连续选择:按住ctrl按键,不连续选择连续选择:按住shift按键,选择第一个,选择最后一个。中间部分全部被选择 题目 NO1.2.3 布局→纸张方向:横向…...
全面解析计算机网络:从局域网基础到以太网交换机!!!
一、局域网的基本概念和体系结构 特点: 覆盖较小的地理范围较低的时延和误码率局域网内的各节点之间以“帧"为单位进行传输支持单播、广播、多播 单播(一对一发送帧):如 A->B广播(一对全部发送帧):如 A->BCDEFG多播(一对部分发送帧)ÿ…...
《 C++ 点滴漫谈: 二十二 》操作符炼金术:用C++ operator重塑代码美学
摘要 C 的 operator 关键字和操作符重载是语言的核心特性之一,使开发者能够扩展内置操作符以适应自定义类型,从而实现更高效、直观的代码表达。本文全面解析了 operator 关键字的基本概念、支持重载的操作符范围及其使用场景,详细介绍了操作…...
Ubuntu 22.04 TLS 忘记root密码,重启修改的解决办法
1.想办法进入这个界面,我这里是BIOS引导的是按Esc按一下就行,UEFI的貌似是按Shift不得而知,没操作过。下移到Advanced options for Ubuntu,按enter 2.根据使用的内核版本,选择带「recovery mode」字样的内核版本&#…...
【LeetCode: 215. 数组中的第K个最大元素 + 快速选择排序】
🚀 算法题 🚀 🌲 算法刷题专栏 | 面试必备算法 | 面试高频算法 🍀 🌲 越难的东西,越要努力坚持,因为它具有很高的价值,算法就是这样✨ 🌲 作者简介:硕风和炜,…...
GraphRAG: Auto Prompt Tuning 实践
GraphRAG 的 Auto Prompt Tuning 功能是一个强大的工具,用于优化知识图谱的生成过程。以下是对该功能的详细介绍和分析: 自动提示调优(Auto Prompt Tuning) 1. 概念 GraphRAG 的自动提示调优功能旨在为特定领域的知识图谱生成创…...
提示词的艺术----AI Prompt撰写指南(个人用)
提示词的艺术 写在前面 制定提示词就像是和朋友聊天一样,要求我们能够清楚地表达问题。通过这个过程,一方面要不断练习提高自己地表达能力,另一方面还要锻炼自己使用更准确精炼的语言提出问题的能力。 什么样的提示词有用? 有…...
Tensor 基本操作1 | PyTorch 深度学习实战
目录 创建 Tensor常用操作unsqueezesqueezeSoftmax代码1代码2代码3 argmaxitem 创建 Tensor 使用 Torch 接口创建 Tensor import torch参考:https://pytorch.org/tutorials/beginner/basics/tensorqs_tutorial.html 常用操作 unsqueeze 将多维数组解套…...
CSS 的基础知识及应用
前言 CSS(层叠样式表)是网页设计和开发中不可或缺的一部分。它用于描述网页的视觉表现,使页面不仅实现功能,还能提供吸引人的用户体验。本文将介绍 CSS 的基本概念、语法、选择器及其在提升网页美观性方面的重要性。 什么是 CSS&…...
贪心算法(题1)区间选点
输出 2 #include <iostream> #include<algorithm>using namespace std;const int N 100010 ;int n; struct Range {int l,r;bool operator <(const Range &W)const{return r<W.r;} }range[N];int main() {scanf("%d",&n);for(int i0;i&l…...
CamemBERT:一款出色的法语语言模型
摘要 预训练语言模型在自然语言处理中已无处不在。尽管这些模型取得了成功,但大多数可用模型要么是在英语数据上训练的,要么是在多种语言数据拼接的基础上训练的。这使得这些模型在除英语以外的所有语言中的实际应用非常有限。本文探讨了为其他语言训练…...