大表无索引,列表接口超时,排障时经常要跨团队扯皮。
数据层
数据库设计与优化
应用层再优化,也掩盖不了错误的表结构与缺失索引。先把问题边界说清,再决定怎么做。
配合 PHP 业务的表结构设计、索引与慢查询治理。
代码可接手
目录、命名与配置约定清楚,方便你们团队续写。
框架用其长处
Laravel / ThinkPHP 按场景选型,避免为用而用。
数据层同步设计
表结构与查询路径一并考虑,减少上线后救火。
数据层问题
这些问题往往在立项前就存在,或在匆忙上线后立刻暴露。
字段类型不当,存储与比较低效,问题暴露时往往已经影响线上。
无分页的全表扫描,会拖慢迭代与联调效率。
缓存乱加导致数据不一致,最终体现在数据与体验的不一致上。
访问路径驱动设计
列出高频查询;据此建索引与表;PHP 层避免 N+1;缓存只覆盖可失效的读模型。从访问路径设计表与索引,而不是先画大而全的 ER。对热点 SQL 做 explain 与改写,必要时引入缓存。
从访问路径设计表与索引,而不是先画大而全的 ER。对热点 SQL 做 explain 与改写,必要时引入缓存。
- 开工前书面确认范围
- 可验收的阶段里程碑
- 交付含交接说明
服务要点
本项服务通常覆盖的关键能力。
表结构设计
确认技术栈、约束与验收点后纳入范围,按里程碑交付。
索引策略
确认技术栈、约束与验收点后纳入范围,按里程碑交付。
慢查询治理
确认技术栈、约束与验收点后纳入范围,按里程碑交付。
与 PHP 访问层对齐
确认技术栈、约束与验收点后纳入范围,按里程碑交付。
你将获得
- 表结构/变更脚本
- 索引方案
- 慢 SQL 改写
- PHP 访问建议
- 观察指标
合作流程
-
01
热点与表盘点,并书面确认本阶段产出。
-
02
方案确认,并书面确认本阶段产出。
-
03
变更与回归,并书面确认本阶段产出。
-
04
观察,并书面确认本阶段产出。