[{"data":1,"prerenderedAt":-1},["ShallowReactive",2],{"$fMK0vNf236MZKlyc5Zzypd0tFhAV7QpXWOFpr_9uqJgA":3},{"meta":4,"toc":22,"html":26,"hasMore":18,"views":9,"prev":27,"next":40,"seriesList":48},{"slug":5,"title":6,"description":7,"date":8,"updated":9,"tags":10,"series":14,"seriesOrder":15,"cover":9,"price":16,"priceUsd":17,"paid":18,"draft":19,"words":20,"minutes":21},"postgres-index-internals","Postgres 索引原理：B+树、TOAST 与真实优化案例","从页结构到 B+ 树分裂，再到真实查询优化的完整路径，配合 Supabase 实战。","2026-08-12",null,[11,12,13],"Postgres","数据库","Supabase","数据库内功",1,19.9,2.99,true,false,836,2,[23],{"id":24,"text":25,"depth":21},"一切从-8kb-的页开始","一切从 8KB 的页开始","\u003Cp>数据库是付费博客最合适的专栏题材——它既需要理论功底，又极度依赖实战经验。这是「数据库内功」系列第一篇，从\u003Cstrong>存储页结构\u003C\u002Fstrong>讲起，最终落到一次真实的慢查询优化。\u003C\u002Fp>\n\u003Ch2 id=\"一切从-8kb-的页开始\">\u003Ca href=\"#一切从-8kb-的页开始\">一切从 8KB 的页开始\u003C\u002Fa>\u003C\u002Fh2>\n\u003Cp>Postgres 的最小 I\u002FO 单位是 8KB 的 page。表、索引、TOAST 表都由页构成：\u003C\u002Fp>\n\u003Cpre class=\"shiki vesper\" style=\"background-color:#101010;color:#FFF\" tabindex=\"0\">\u003Ccode>\u003Cspan class=\"line\">\u003Cspan>PageHeader (24B)\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>├── LinePointer 数组（行指针，从后往前增长？不，从前往后）\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>├── 空闲空间\u003C\u002Fspan>\u003C\u002Fspan>\n\u003Cspan class=\"line\">\u003Cspan>└── 元组数据（从页尾向前增长）\u003C\u002Fspan>\u003C\u002Fspan>\u003C\u002Fcode>\u003C\u002Fpre>\n\u003Cp>每行的可见性信息（xmin\u002Fxmax）就存在元组头的 HeapTupleHeader 里，这是 MVCC 的物理基础——\u003Cstrong>更新不是原地覆盖，而是写入新元组版本\u003C\u002Fstrong>。\u003C\u002Fp>",{"slug":28,"title":29,"description":30,"date":31,"updated":9,"tags":32,"series":9,"seriesOrder":36,"cover":9,"price":37,"priceUsd":38,"paid":18,"draft":19,"words":39,"minutes":21},"vue-reactivity-deep-dive","Vue 响应式系统源码走读：从 effect 到调度器","逐行拆解 Vue 3 reactivity 的依赖收集与派发更新机制，理解 weakmap 三层结构与异步调度批处理。","2026-08-08",[33,34,35],"Vue","源码","JavaScript",0,9.9,1.99,597,{"slug":41,"title":42,"description":43,"date":44,"updated":9,"tags":45,"series":14,"seriesOrder":21,"cover":9,"price":16,"priceUsd":17,"paid":18,"draft":19,"words":47,"minutes":21},"supabase-rls-security","Supabase RLS 安全模型：从入门到不翻车","行级安全策略的设计范式、常见漏洞模式，以及付费博客订单\u002F购买表的完整 RLS 实现。","2026-08-15",[13,11,46],"安全",718,[49,51],{"slug":5,"title":6,"description":7,"date":8,"updated":9,"tags":50,"series":14,"seriesOrder":15,"cover":9,"price":16,"priceUsd":17,"paid":18,"draft":19,"words":20,"minutes":21},[11,12,13],{"slug":41,"title":42,"description":43,"date":44,"updated":9,"tags":52,"series":14,"seriesOrder":21,"cover":9,"price":16,"priceUsd":17,"paid":18,"draft":19,"words":47,"minutes":21},[13,11,46]]