查询处理与优化
数据库查询处理 (Query
Processing)
1. 核心概念与流程 (Overview)
查询处理的目标是将用户的高级语言(如
SQL)转换成数据库系统能够执行的低级指令,并寻找最高效的执行方式。
三个关键步骤 :
Parsing and translation (解析与翻译):
检查语法,将查询转换成关系代数表达式。
Optimization (优化):
这是最关键的一步。同一个查询可以有多种执行计划(Plan),优化器负责估算各种计划的代价,找出成本最低的一个。
Evaluation (执行):
查询执行引擎根据优化后的计划,一步步执行并返回结果。
2. 代价估算指标 (Measures
of Query Costs)
数据库主要关注磁盘
I/O,因为它是最慢的环节。我们通常忽略 CPU
开销,主要计算磁盘访问的次数。
基本符号:
b: 需要传输的数据块
(block) 数量。
S: 寻道 (seek) 次数。
tT:
传输一个 block 的时间 (Transfer time)。
tS:
一次寻...
物理存储结构与索引
存储与文件结构
文件组织
定长记录与变长记录
定长记录(fixed-length
record):每条记录的长度相同,便于计算和存取
变长记录(variable-length
record):每条记录的长度不同,节省空间,但存取较复杂
文件中记录的组织
堆文件组织(heap file
organization)
记录无特定顺序存储,适用于插入频繁但查询较少的场景 ###
顺序文件组织(sequential file organization)
记录按某一属性排序存储,适用于范围查询和顺序访问 ###
散列文件组织(hashed file organization)
记录通过哈希函数映射到存储位置,适用于等值查询 ### 多表聚簇文件组织
(clustered file organization)
将相关表的数据存储在一起,提高联接查询效率
数据字典 (Data
Dictionary / System Catalog)
它是“数据库的数据库”。 存什么? 元数据 (Metadata)。即关于数据的数据。
- 表名、列名、列的类型。 -...
无标题
操作系统文件管理学习笔记
文件
文件是命名的、具有逻辑结构的、存储在辅助存储器上的数据集合。它是用户与操作系统之间交互的最基本单位。
• 数据项 (Data Item):
数据的最小命名单位,如字段、记录。分为基本数据项和复合数据项。
• 记录 (Record): 一组相关的数据项的集合。
• 文件 (File):
一组相关记录的集合,分为有结构文件和无结构文件两种,在有结构的文件中,文件由若干个相似记录组成,而无结构文件是一个连续的字节流(如在
UNIX 或 Linux 中)。
文件属性
文件名 (File Name): 同一目录下不能有相同文件名的文件。
标识符 (Identifier): 用于唯一标识文件的标识符。
文件类型 (File Type): 文件的类别,如文本文件、二进制文件等
文件位置 (File Location):
文件存放路径(让用户使用)。在外存的地址(用户不可见)。
文件大小 (File Size): 文件占用的存储空间大小。
创建时间 (Creation Time): 文件被创建的时间和最后一次修改时间。
创建者...
conda 常用命令
Conda 常用命令
本文档列出在日常使用 Conda(Anaconda /
Miniconda)时常见且实用的命令与示例,包含环境管理、包管理、导出/导入、配置与清理等常用操作。
环境管理(创建 / 激活 / 删除 /
列表)
创建新环境:指定 Python 版本
1conda create -n myenv python=3.10
创建并同时安装包:
1conda create -n myenv python=3.10 numpy pandas
列出所有环境:
123conda env list# 或者conda info --envs
激活环境:
1conda activate myenv
停用当前环境:
1conda deactivate
删除环境:
1conda remove -n myenv --all
克隆环境:
1conda create --name cloned_env --clone myenv
包管理(安装 / 升级 / 卸载 /
列表)
在当前激活环...
《共同加强语言模型生成的多样性和质量》论文深度研读
论文链接:https://arxiv.org/abs/2509.02534
深度解析:DARLING论文《联合增强语言模型生成的“多样性”与“质量”》
导言:现代大语言模型的核心困境
大型语言模型(LLMs)的后训练(Post-training)过程,例如基于人类反馈的强化学习(RLHF),显著提升了模型的准确性和实用性。然而,这种优化带来了一个严重的副作用:模型的多样性(diversity)大幅下降
。
在抽象(Abstract)和引言(Introduction)部分(第1节),论文指出了当前方法的核心矛盾:为了追求质量,模型被训练得“过度锐化”(overly
sharpened),其输出分布变得极窄
。这意味着,模型倾向于为同一个提示(prompt)生成高度相似、甚至近乎重复的答案。这种“多样性崩塌”(diversity
collapse)现象,极大地限制了 LLMs
在需要创意和探索性任务(如头脑风暴、讲故事或解决复杂问题)中的应用价值
。
为解决这一挑战,研究人员提出了 DARLING (Diversity-Aware
Reinforcement ...
《Pass@k 训练》论文深度研读
原文链接:http://arxiv.org/abs/2508.10751
《Pass@k 训练》论文深度研读
这篇论文《Pass@k Training for Adaptively Balancing Exploration and
Exploitation of Large Reasoning
Models》,是大型语言模型(LLM)推理能力训练领域的一篇重要技术报告。它不仅提出了一种新颖且效果显著的训练方法,更重要的是,它为解决强化学习(ReinCforcement
Learning,
RL)中的一个经典难题——“探索与利用的平衡”——提供了深刻的洞见。
我们的目标是,在阅读完本报告后,您不仅能理解这篇论文“做了什么”,更能深刻理解它“为什么这么做”以及“它背后的数学原理”。
第一部分:问题的提出(摘要与第1节:引言)
在进入复杂的公式之前,我们必须首先理解论文试图解决的“问题”是什么。
1.1 核心场景:RLVR
与大型推理模型
论文的背景是使用强化学习与可验证奖励(Reinforcement Learning
with Verifiable ...
SQL
SQL数据定义
char(n) :n个长度的固定字符串
varchar(n) :最大n个长度的可变长字符串
int :整数
smallint :小整数
numeric(p,d)
:这个数有p位数字,小数点后d位数字。如numeric(3,1)可以存储33.3 ,44.4
float(n) :精度至少为n的单精度浮点数
double :双精度浮点数
date :日期,格式YYYY-MM-DD
time :时间,格式HH:MM:SS
timestamp :时间戳,格式YYYY-MM-DD HH:MM:SS
DDL
DDL是数据库定义语言,用于创建修改删除数据库的结构
创建数据库
1234567891011create table table_name( id int, name char(10) not null, age int, gender char(1) default 'M', address varchar(50), primary key(id), unique(name...
进程同步
临界区问题 critical section
123456do{ 进入区 临界区 退出区 剩余区}
进入区:请求进入临界区的代码
临界区:访问共享资源的代码
退出区:离开临界区的代码
剩余区:不涉及共享资源的代码
临界区问题必须要满足以下三个要求:
互斥(mutualexclusion):同一时刻只能有一个进程在临界区内执行
前进(progress):如果没有进程在临界区内执行,并且有一个或多个进程想进入临界区,那么只能从这些进程中选择一个进入临界区,这种选择不能无限期地推迟
有限等待(bounded
waiting):在一个进程请求进入临界区和它被允许进入之间,必须存在一个上限,限制其他进程可以进入临界区的次数
软件解决临界区问题
Peterson算法
123456789101112131415161718do{ flag[i] = true; // 表示进程i想进入临界区 turn = j; // 让另...
进程与线程
进程
进程的概念
进程包括:
程序代码,也叫文本段
数据段全局变量
程序计数器,处理机寄存器
栈:局部变量,函数参数,返回地址
堆:动态分配的内存
进程是资源分配的基本单位,
不同的进程虽然可能执行同一段程序代码,但它们拥有各自独立的地址空间和资源。
程序是静态的,进程是动态的。
程序是被动的,而进程是主动的。
一个程序可以对应多个进程。
进程的状态
进程的状态包括:
新建态:进程正在创建
就绪态:进程已分配到必要的资源,等待CPU时间片
运行态:进程正在使用CPU
阻塞态:进程等待某个事件发生(如I/O完成)
终止态:进程执行完毕或被强制终止
进程时间片用完后进入就绪态
进程等待I/O等事件进入阻塞态
缺页会进入阻塞态
进程控制块 PCB
内核中用于操作系统管理进程的数据结构
包含:
进程标识符 PID
进程状态
程序计数器
CPU寄存器
CPU调度信息:进程优先级,调度队列的指针等
内存管理信息
I/O状态信息:I/O设备列表,打开文件列表
记账信息:用户CPU时间,系统CPU时间,内存...
满屏飘字
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899import sysimport randomfrom PyQt5.QtWidgets import QApplication, QWidget, QLabel,QVBoxLayoutfrom PyQt5.QtCore import QTimer, Qtfrom PyQt5.QtGui import QColor, QPalette# 20条不同的语句messages = [ "早安,开启美好一天!", "温暖的阳光洒满房间。", "愿你今天心情愉快。", "生活充满希望。", "微笑面对每...
