postgres using explain

postgres using explain

14.1. 使用 EXPLAIN

PostgreSQL 会为其接收的每个查询设计一个查询计划。选择正确的计划以匹配查询结构和数据属性对于获得良好性能至关重要,因此系统包含一个复杂的规划器,该规划器尝试选择好的计划。您可以使用 EXPLAIN 命令查看规划器为任何查询创建的查询计划。计划解读是一门艺术,需要一定的经验才能掌握,但本节旨在涵盖其基础知识。

本节中的示例取自执行 VACUUM ANALYZE 后的回归测试数据库,并使用了 v17 开发版本。如果您自己尝试这些示例,应该能获得类似的结果,但您的估计成本和行数可能会略有不同,因为 ANALYZE 的统计数据是随机抽样而非精确的,并且成本本身在某种程度上依赖于平台。

这些示例使用 EXPLAIN 默认的“文本”输出格式,该格式紧凑且方便人类阅读。如果您想将 EXPLAIN 的输出提供给程序进行进一步分析,则应改用其机器可读的输出格式之一(XML、JSON 或 YAML)。

阅读更多
基于 langchain4j 的简易 MCP Client

基于 langchain4j 的简易 MCP Client

前言

这次的定语比较多,又是 简易 又是 client

如果你去翻阅 langchain4j 有关 MCP 的文档(点击这里),你会发现有关它的内容比起 RAG 少的可怜

在我看来,应该是以下几个原因有关

  • langchain4j 并没有实现完整的 MCP 协议。在目前版本(1.0.1)的 langchain4j 中是不存在 MCP Server 这个组件的
  • langchain4j 对于 MCP Client 的理解和 Function Calling 异曲同工,有一些逻辑在其他模块已经实现了

我其实是有些纳闷的,因为我最初就是想用 langchain4j 把现有的服务构建成一个 MCP Server,至于 MCP Client 我想许多客户端都可以充当这个角色

以上推论主观性很强,如果有错误,可以联系我的邮箱

阅读更多
基于 langchain4j 的简易 RAG

基于 langchain4j 的简易 RAG

RAG 是什么

langchain4j 的官网给了一段通俗易懂的描述

简单来说,RAG 是一种在发送给 LLM 之前,从你的数据中找到并注入相关信息片段到提示中的方法

RAG 分为两个阶段,索引检索

关于检索部分,下面的项目中将分别使用 langchain4j 的原生组件以及高级用法分别实现

简单说明一下我对这两个阶段的理解

阅读更多
自建音乐流媒体的碎碎念

自建音乐流媒体的碎碎念

前言

首先谈谈我对音乐,以及流媒体的理解

我对音乐的狭义理解是:由乐器弹奏,或者人哼唱出来的歌。对于流媒体,我认为在网络上传播的影像记录就是流媒体

阅读更多

庐山旅游规划(待完善)

简介

庐山,又称匡山、匡庐,位于中国江西省九江市南郊,是联合国教科文组织评定的文化遗产和世界地质公园,同时还是中国国家5A级旅游景区和文明旅游风景区、世界名山大会的发起者。庐山形成于第四纪冰川时期,是一座地垒式断块山脉,是中国自古以来重要的游览目的地

数据来源于维基百科

阅读更多