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

学习日记

2. 如果遇到慢 SQL,该如何解决?

第一步:使用 EXPLAIN 查询执行计划

主要关注以下字段:

字段 说明
type 当前查询的效率级别,从好到差依次为:const > eq_ref > ref > range > index > ALL
possible_keys 预期索引是什么
key 实际使用的索引是什么
rows 预估扫描的行数,越小越好
Extra 额外的执行计划信息,如 Using index(覆盖索引)、Using where(回表过滤)

第二步:索引优化

  • 能用覆盖索引的尽量使用覆盖索引
  • 避免索引失效

索引失效的常见情况

场景 示例
使用函数 WHERE YEAR(date) = 2024
在索引列上进行计算 WHERE age + 10 = 30
使用类型转换 WHERE phone = 13800138000(phone 字段是 VARCHAR 类型)
联合索引违反最左前缀原则 复合索引 (a, b) 只查 b 条件
使用 LIKE% 开头 WHERE name LIKE '%张三'

3. RAG(检索增强生成)

作用

RAG 可以缓解 LLM 的幻答问题,配置知识库后,Prompt 会更加全面,缓解答非所问的问题。

工作流程

离线阶段(建立知识库)

  1. 将知识库里的文本拆分
  2. 使用上下文预测方法和海量数据,将知识库向量化成一串数字
  3. 存储到 ChromaDB(向量数据库)

在线阶段(问答)

  1. 每次新来的问题也向量化成一串数字
  2. 与向量数据库进行比对相似度
  3. 将相似度高的文字添加到 Prompt 中
  4. 发送给 LLM 生成答案

向量化的训练原理

以“我吃苹果”和“我吃香蕉”为例:

  • “吃”和“我”有关
  • “吃”和“苹果/香蕉”有关
  • 因此“苹果”和“香蕉”也可能有关

模型通过海量数据进行上下文预测:

  • 预测正确 → 继续按照这个策略
  • 预测错误 → 重新调整向量

通过海量的数据不断计算,最终得出每个词的向量。

开发实践

在真正开发中可以不用自己训练,有一个已经训练好的模型 BGE,可以直接使用它来得出向量结果。

from sentence_transformers import SentenceTransformermodel = SentenceTransformer('BAAI/bge-small-zh-v1.5')
embeddings = model.encode(["文本内容"])
http://www.jsqmd.com/news/598736/

相关文章:

  • 2026年4月6日响课科技创始人李波首次披露响课GEO系统获多行业验证,无需专属技术团队也能高效实现全域流量占位 - 速递信息
  • Keil MDK调试时Watch窗口变量不刷新?别急,这3个设置项你检查了吗?
  • IDMPhotoBrowser:iOS开发者的终极照片浏览器解决方案
  • A*算法保姆级教程:从原理到Python实现,5分钟搞定最短路径问题
  • 基于粒子群的PMU优化配置 软件:MATLAB 介绍:电力系统PMU优化配置,为了使电力系统达...
  • 深入剖析watchdog机制:从soft lockup到Hard LOCKUP的检测与应对
  • 终极TinyColor升级指南:从1.5到1.6版本的关键变更与迁移策略
  • web随笔04
  • Koa2调试终极指南:10个高效定位代码问题的技巧
  • 避坑指南:Ecology9流程创建失败的7个常见错误及解决方案(附调试技巧)
  • 效率提升利器:快马一键生成网络配置脚本与故障排查模拟环境
  • 终极优化指南:如何彻底解决腾讯游戏ACE-Guard导致的系统卡顿问题
  • 移动端H5开发 app内嵌H5谷歌浏览器Windows/Mac调试方法 各种连接问题解决
  • Oh-My-Posh 多会话管理终极指南:在不同终端中保持一致的完美体验
  • Godot引擎资源提取完全指南:从PCK文件到游戏资产
  • 2026年南京全屋定制生产厂家深度测评:如何为你的家居定制匹配最佳方案? - 速递信息
  • Windows 11上运行Android应用的3大核心优势:WSA完全指南
  • obsidian-skills投资者管理:高效管理投资者关系的终极指南
  • 5种任务栏透明方案:TranslucentTB视觉增强完全指南
  • 微信指数数据还能这么用?Python抓取后做竞品分析与市场洞察实战
  • 智能值守:直播内容智能捕获系统的技术突破与实践指南
  • ‌智慧校园软件怎么选?手把手教你看懂核心功能
  • 农产品销售系统|基于Java + vue农产品销售系统(源码+数据库+文档)
  • 终极指南:如何使用snabbt.js创建惊艳的Web动画效果
  • Applio插件系统详解:如何扩展你的语音转换能力
  • Lisk SDK安全最佳实践:保护区块链应用免受攻击的10个技巧
  • 3大价值+5步实施:基于Vant Weapp的无障碍设计全流程指南
  • Unity-NavMesh详解-其二
  • DevOps工程师面试必备:容器、CI/CD与自动化工具终极指南
  • 深入ECU内存:从0x35服务看UDS诊断如何安全上传数据(避坑NRC 0x31)