Cypher 反模式与性能陷阱
Cypher 写起来像自然语言,写错起来也像——不报错,只是慢几个数量级。本文按根因归类 12 类高频反模式:笛卡尔积与无条件 MATCH、无界变长路径、WHERE 里做函数运算导致索引失效、把分页排序聚合交给 Cypher、MERGE 触发全标签扫描、DETACH DELETE 误删,并给出 EXPLAIN/PROFILE 定位法与改写前后的对照。
tag
Cypher 写起来像自然语言,写错起来也像——不报错,只是慢几个数量级。本文按根因归类 12 类高频反模式:笛卡尔积与无条件 MATCH、无界变长路径、WHERE 里做函数运算导致索引失效、把分页排序聚合交给 Cypher、MERGE 触发全标签扫描、DETACH DELETE 误删,并给出 EXPLAIN/PROFILE 定位法与改写前后的对照。
拆解 MongoDB 查询优化器挑选 winningPlan 的完整流程,详解 explain 的三种 verbosity、执行阶段树、totalKeysExamined 等关键指标、计划缓存与 SBE 执行器,并给出常见慢计划反模式的修复方法与实战案例
拆解 Kafka 分区日志的物理实现:段文件命名与滚动、记录批次的二进制布局、偏移索引与时间索引的稀疏结构、二分查找定位、零拷贝 sendfile 与页缓存、磁盘布局与 IO 模式、日志清理压缩的段级粒度、JBOD 与 RAID 的取舍、索引损坏修复与排错要点
慢查询剖析与索引顾问:分析器与 system.profile、slowms 阈值、explain executionStats 字段精读、$indexStats 清理未使用索引、currentOp 定位慢操作,以及 hint 验证与反模式清单。
RediSearch 全文检索实战:FT.CREATE 建索引与 HASH/JSON 数据源、TEXT/TAG/NUMERIC/GEO/VECTOR 字段类型、WEIGHT 与 SORTABLE 选项、中英文分词与自定义词典、FT.SEARCH 查询语法(字段限定、布尔、前缀、模糊、短语、数值与地理过滤)、排序分页与 INKEYS/LIMIT 优化、FT.AGGREGATE 分组统计与 APPLY/REDUCE、HIGHLIGHT 与 SUMMARIZE 摘要、FT.EXPLAIN 执行计划、索引管理与内存调优、与向量检索混合使用
PlumePHP 全站文章的归档入口,按时间倒序汇总各专题的技术文章,并提供按主题浏览的专题分类入口。
查询为什么快?因为 ClickHouse 不必读所有数据。本文系统讲解查询裁剪三件套:稀疏主键索引如何跳过 granule、分区裁剪如何跳过整个目录、跳数索引(minmax/set/bloom_filter/ngrambf)如何二次过滤,以及用 EXPLAIN indexes 与 PIPELINE 观察裁剪效果、排查裁剪失效的完整方法论。
深入解析 SQL 查询优化:读懂执行计划(EXPLAIN/EXPLAIN ANALYZE)与代价模型、索引设计(B+树/覆盖索引/联合索引)、分区裁剪与分桶优化、谓词下推与投影下推、Join 策略(Hash/Merge/Nested Loop)与数据倾斜、聚合与窗口函数优化、大表扫描与列存优化、慢查询定位方法,以及数仓 SQL 调优的工程实践。
系统讲解 Kafka 存储内核:日志段(LogSegment)与索引文件(.log/.index/.timeindex)、追加写入与刷盘策略、日志留存策略(时间/大小/segment 删除与合并)、Compact 主题与日志压缩(墓碑消息/清除点/压缩线程)、分层存储(Tiered Storage)、以及存储调优与磁盘故障排查的工程实践
系统讲解图查询优化:Cypher 优化器的两阶段规划(逻辑→物理)、代价估算与启发式规则、Eager/Lazy 评估、模式匹配的执行策略、EXPLAIN 与 PROFILE 读法、慢查询诊断方法、索引设计与查询写法优化、统计信息与基数估算、以及计划缓存与调优流程,帮助把图查询从慢调快。
系统覆盖以太坊 JSON-RPC 协议全貌(eth_/net_/web3_ 命名空间)、常用读写调用与 eth_getLogs 深度解析、全节点与归档节点差异、执行层+共识层节点部署架构、托管 RPC 与自建节点的选型,以及区块浏览器的数据链路(区块落库、事件解码、地址搜索),为开发者提供从「调 API」到「懂节点」的完整知识路径。
系统覆盖 PHP 数据库访问:PDO 预处理与占位符陷阱、Eloquent vs Doctrine ORM 对比、事务与隔离级别、连接管理、MySQL 索引/EXPLAIN/慢查询治理、分页与大数据量、Laravel 迁移。
系统覆盖 Neo4j 生产环境性能调优:性能问题定位方法论、page cache 与 JVM 堆内存配置、执行计划 EXPLAIN/PROFILE 分析、查询优化技巧(限制深度/参数化/标签先行)、索引设计与复合/全文索引、批量写入与导入性能、常见性能反模式与调优清单。
系统性方法论与实战案例:慢查询日志定位、EXPLAIN 执行计划深度解读、12 类索引失效场景、统计信息与直方图,以及一整套从发现到落地验证的慢 SQL 调优闭环。
深入数据库原理核心:关系模型与 SQL、存储与页、B+ 树与 LSM 索引、事务 ACID、隔离级别与锁、WAL 日志恢复、查询优化执行计划、范式与反范式,构建理解任何数据库系统的基础框架。
Neo4j 生产级调优手册:ACID 事务模型与隔离级别、锁与死锁处理、标签/属性/关系类型的 Schema 设计、单属性/复合/全文/向量索引选型、EXPLAIN 与 PROFILE 执行计划逐运算符解读、page cache 与内存配置调优。
深入理解 B-Tree、B+Tree 结构差异,掌握聚簇索引、非聚簇索引、覆盖索引与最左前缀法则,学会索引设计的核心方法论。
MongoDB 索引全解: 单键、复合、多键、文本、TTL、稀疏与部分索引,Explain 分析与查询优化
深入 MongoDB 索引机制,覆盖单字段/复合/文本/地理空间索引的创建、选择与优化,以及 explain 分析和覆盖索引技术
深入 PostgreSQL 查询优化器:EXPLAIN / EXPLAIN ANALYZE 输出解读、索引类型选型(B-Tree / Hash / GiST / GIN / BRIN)、覆盖索引与部分索引、慢查询治理流程、pg_stat_statements 监控,含真实案例与执行计划修复。