本章导读:SQL 优化有上限,架构设计决定天花板。本章讲逻辑/物理设计、分区、视图、反范式,从架构层提性能。
本章 4 节:

应用层优化解决"怎么用",本章解决"怎么建"——表结构、物理存储、分区策略、视图与反范式,这些设计期决策会陪伴系统整个生命周期,改起来的代价远高于改一条 SQL。四节的内在逻辑:第 1 节逻辑设计(范式与主键、字段类型的微观决策),第 2 节物理设计(页结构与存储格式如何影响 IO 行为),第 3 节分区(大表的水平拆分策略),第 4 节视图与反范式(读性能与写规范之间的权衡艺术)。这一章的正确打开方式是带着"未来"读:每学一个设计原则,想一想三年后数据量涨十倍、并发涨五倍时它是否还成立——好的设计决策在数据规模增长十倍时依然优雅,坏的在三倍时就露出狰狞。新系统设计期的一个人时,抵得上上线后的十个人时,这是本章想传递的核心价值观。
结构章的四节内容可以浓缩成四把评估标尺,评审任何表设计时逐一对照。标尺一,类型是否最小够用(第 1 节)——每个字段问一句"更窄的类型行不行",主键与外键尤其如此。标尺二,页是否装得下热点(第 2 节)——行宽与填充度决定了缓冲池里能驻留多少业务数据,行越瘦缓存越强。标尺三,增长是否在预案内(第 3 节)——三年后的行数与查询模式,分区与归档的路留好了吗。标尺四,冗余是否有账可查(第 4 节)——每一处反范式冗余都有"为什么冗余、怎么保持一致"的注释吗,没有账的冗余是未来的数据事故。四把标尺背后是同一个时间观:SQL 错了改一行,设计错了改一季——把时间观带进设计评审,是本章想留给读者最重要的职业习惯。
结构章收官盘点三个最值得投入思考的决策时刻——它们是设计期回报率最高的三次思考。时刻一,第一张核心表的定稿:它奠定了命名风格、审计字段、主键策略的先例,先例的力量会让后来的表全部跟随——第一张表值得最资深的工程师审。时刻二,第一亿行的前夕:数据量到亿级前,分区、归档、索引预算的预案要定稿——亿级之后的每次结构手术成本翻十倍,预案的价值此时兑现。时刻三,第一次跨团队复用:当第二个团队要读同一批数据时,接口(视图或服务)与所有权要显式化——含糊的共享会孕育出谁都不敢动的祖传表。三个时刻的共同特征:改造成本在时刻之后指数上升、而在时刻之前只是几次会议——结构设计的智慧,就是识别这些不可逆点并把认真用在刀刃上。
结构章终章给三行速记,评审时默诵:类型最小、行最瘦、页最满(物理效率三连);主键解耦、约束忠实、快照固化(建模正确性三连);分区看三年、冗余记台账、物化问时效(结构决策三连)。九个短语背后是四节全部内容,它们的价值是评审会上的一分钟自检——扫一眼设计稿,念一遍口诀,漏项自然浮现。结构设计的功夫在平时积累的判断力,但临场靠的就是这种压缩得足够小的检索结构——这也是整套教程所有"速记"小节的共同设计哲学:大道理记不住,小口诀忘不了。
再送一条评审心法:结构评审最常见的失误是"只看当下数据量"——十行的表怎么设计都对,一亿行的表处处是坑;评审时强制问一句"三年后十倍量时这个设计还成立吗",把时间的维度引进会议室,一半的结构隐患当场现形。
最后给一条跨章的复习路径:本章的四节与第 2 章构成"静态与动态"的对偶——第 2 章讲查询怎么用好结构,本章讲结构怎么服务查询;两章对读(先读本章第 1 节与第 2 章第 1 节,再依次配对)能快速建立"设计-使用"的闭环视角。建议在学完第 5 章的归档后回看本章第 3 节——分区与归档的联动会让两个知识点同时立体化,这种"回头读"的安排是教程设计的暗线,也是对抗遗忘曲线的主动出击。
最后留一道开放题给团队讨论:你们的"设计规范"文档有多久没更新了——它覆盖了冷热分离与列存选择这些新话题吗,还是停留在"三范式与命名规范"的上个时代?设计规范应该是个活文档,每次评审发现的共性问题回流向它,每年一次小修、三年一次大改;规范停滞的年代,就是团队用事故重新学费的年代。这道题的答案,写在你们下一次的评审会上。