第6章 康复训练:高级特性与调优


第 6 章 · 康复训练:高级特性与调优

本章要回答的三个问题:大表怎么用分区表"分床位"管理?存储过程、触发器、视图这些康复器械哪些值得用、哪些是历史包袱?除了索引与 SQL,服务器参数还有哪些值得动手的旋钮?

为什么会有这一章

手术(索引优化)做完的病人需要康复训练。表涨到几亿行后,即使索引健康,维护窗口、备份体积、冷热分离都成了新问题;而参数调优是排在"加内存、修 SQL"之后依然有效的一层。这一章把分区、程序化对象、参数三件事按性价比排序讲清楚。

读完能解决什么

  • 会按时间维度做 RANGE 分区并执行分区淘汰
  • 对存储过程、触发器、视图形成"该用才用"的判断
  • 掌握缓冲池、连接数、日志几个高频参数的调整依据

各节怎么分工

节 回答哪个问题 关键产出
6.1 分床位 大表怎么拆 分区方案与淘汰脚本
6.2 康复处方 程序化对象用不用 三件套取舍判断
6.3 体能训练 参数怎么调 参数优先级清单

先决条件

第 3、4 章的架构与索引知识;有一张可以折腾的大表(可用脚本灌数据)。

往下走到哪

性能之外,第 7 章转向防疫:安全、备份与高可用——保证这台机器不出大事。

康复训练的优先级地图

本章三件事按投入产出排个地图。索引与 SQL 优化(第 4 章)之后,第一优先通常是内存:缓冲池给足带来的收益覆盖面最广,一次调整全局受益,且验证指标(命中率)清晰。第二优先是分区与归档:表体量降下来后,备份窗口、维护时间、统计新鲜度全都跟着好转。第三优先才是细颗粒参数:连接内存、临时表、刷盘节奏,单项收益有限,适合有压测与监控体系之后再精细推进。

顺序反过来做是常见弯路:在 8G 内存的机器上精调十几项参数,不如加一根内存条;给三千万行的表建精巧分区,不如先治好那条全表扫描的报表 SQL。康复训练的处方笺上永远先写"回到手术台复查",再写训练计划。
最后补一张本章自查表:离开前确认自己能不假思索地回答——缓冲池命中率怎么算、多少该动内存;redo 容量不足的症状是什么;什么表适合分区、分区键怎么选;视图嵌套几层要警惕;sort_buffer_size 为什么不能全局调大;安全双一参数指哪两个。六问答满,本章的康复训练科目就算修完,可以进防疫科了。
本章还有个隐性主题值得一笔:可回滚性。分区可以拆回去、索引可以删、视图可以改,但一次错误的参数全局变更、一次失手的大表迁移,恢复成本极高。所以本章所有建议都默认带着回滚预案——参数改前留原值快照、分区迁移前留原始表备份、在线改表工具先在预演库走全流程。康复训练室里最重要的器械不是任何工具,是"先想怎么退再想怎么进"的习惯,它属于每个敢在生产上动手术的人。
康复训练的验收也别只看性能数字:训练前后各留一份压测报告、一份参数快照、一份慢日志聚合,三份材料放进变更记录,半年后回看时它们就是"这台库的体质变化曲线"。调优工作最遗憾的结局是数字变好了却说不清为什么,下次退化时也无从对证。留痕不是文书负担,是给自己未来的诊断留下的基线档案。
顺带一句预算视角:康复训练的三个优先级对应三类成本——内存是采购成本、分区与归档是工程时间、参数是运维注意力。三类资源在团队里往往归属不同人,把这张优先级地图拿去和采购、排期、值班三方各对一次话,训练计划才能真正排进日历,而不是停留在文档里的美好愿望。做完这三次对话,本章就可以合上了。

作者与出处
原作者:灏天文库
来源:平台策划编纂
整理人: 灏天文库整理
由灏天文库平台收录,内容或由平台用户上传,仅供学习交流
发布者: 作者: 灏天文库 转发
评论区 (0)
U