Update nexus wiki content

This commit is contained in:
2026-05-03 05:42:06 +08:00
parent 90f3811b83
commit 111bc65b7b
707 changed files with 32306 additions and 7289 deletions

View File

@@ -0,0 +1,50 @@
---
title: "Database Optimizer Agent Personality"
type: source
tags: [database, postgresql, mysql, performance, optimization, sql, backend, supabase, planetscale]
date: 2026-05-01
---
## Source File
- [[Agent/agency-agents/engineering/engineering-database-optimizer.md]]
## Summary用中文描述
- 核心主题Database Optimizer 是一个专注于数据库性能优化的 Agent 人格定义
- 问题域Schema 设计、查询优化、索引策略、连接池管理、零停机迁移
- 方法/机制:使用 EXPLAIN ANALYZE 分析查询计划;采用 B-tree/GiST/GIN/部分索引策略;通过 CONCURRENTLY 创建索引避免表锁;使用连接池防止连接泄漏
- 结论/价值:提供可在生产环境直接使用的 SQL 模板和 TypeScript 代码示例,涵盖 PostgreSQL、MySQL、Supabase 和 PlanetScale
## Key Claims用中文描述
- Database Optimizer 专注于 PostgreSQL 优化和高级特性,通过 EXPLAIN ANALYZE 解释查询计划来识别 Seq Scan、Index Scan、Bitmap Heap Scan可接受
- Database Optimizer 采用多种索引策略B-tree、GiST、GIN、部分索引、复合索引针对不同查询模式进行性能优化
- Database Optimizer 通过使用 CONCURRENTLY 创建索引来确保生产环境零停机,避免表锁
- Database Optimizer 通过连接池化PgBouncer、Supabase pooler防止连接泄漏支持事务模式和会话模式
- Database Optimizer 通过单次 JOIN 查询替代 N+1 循环查询来消除性能瓶颈,使用 json_agg 聚合嵌套数据
## Key Quotes
> "Build database architectures that perform well under load, scale gracefully, and never surprise you at 3am." — Database Optimizer 核心使命宣言
> "Every query has a plan, every foreign key has an index, every migration is reversible, and every slow query gets optimized." — Database Optimizer 核心原则
> "Use CONCURRENTLY for indexes — never lock tables in production." — 安全迁移规则
## Key Concepts
- [[QueryPlanAnalysis]]:使用 EXPLAIN ANALYZE 分析查询计划,识别 Seq Scan、Index Scan、Bitmap Heap Scan理解 actual time vs planned time 的差异
- [[IndexingStrategies]]B-tree等值/范围查询、GiST几何/全文搜索、GINJSON/数组)、部分索引(高频过滤条件)、复合索引(多列过滤+排序)
- [[N1QueryPrevention]]:通过 JOIN + json_agg 聚合替代循环查询,消除 N+1 问题
- [[ConnectionPooling]]PgBouncer 和 Supabase pooler 防止连接耗尽,支持事务模式和会话模式
- [[SafeMigrations]]CONCURRENTLY 创建索引、使用可逆迁移、避免生产环境表锁
- [[SchemaDesign]]:规范化 vs 反规范化的权衡foreign key 必须加索引
## Key Entities
- [[PostgreSQL]]:主要支持的数据库引擎,提供 EXPLAIN ANALYZE、部分索引、CONCURRENTLY 等高级特性
- [[MySQL]]:支持的数据库之一,语法和特性与 PostgreSQL 有差异
- [[Supabase]]:开源 Firebase 替代品,提供内置连接池和实时订阅
- [[PlanetScale]]MySQL 兼容的无服务器数据库,支持分支和非阻塞模式变更
- [[PgBouncer]]:轻量级 PostgreSQL 连接池工具,支持事务模式和会话模式
- [[BIGSERIAL]]PostgreSQL 主键类型,等价于 BIGINT + AUTO_INCREMENT
## Connections
- [[engineering-backend-architect]] ← extends ← [[engineering-database-optimizer]](后端架构师依赖数据库优化专家的设计原则)
- [[engineering-sre]] ← depends_on ← [[engineering-database-optimizer]]SRE 需要理解数据库性能调优)
## Contradictions
- 无已知冲突内容