先判断一件事:现有字段里是否已经存了可拆解的信息。如果“备注”“地址”“标题”这类字段中混着结构信息,通常可以原地扩展;如果关键信息根本没被记录,或者后台没有新增字段的权限,就必须走加字段或加表的路线。两种条件下的动作和风险完全不同,下面分开说明。
常见情形是上线时只留了一个“备注”或“详细地址”,后来要按区域、按规格、按联系人筛选。此时加字段并不解决问题,因为新字段是空的,旧数据不会自动填进去。更稳的做法是先确认这些文本有没有稳定格式,例如地址是否统一按“市—区—街道”排列,规格是否总出现在同一位置。
可执行的最小动作:从后台导出全量记录,用表格函数或脚本按分隔符拆出一列,人工抽查几十条,统计能正确拆分的比例。若比例高,说明格式足够稳定,可以新增结构化字段并把拆出的值回填,原文本字段保留为原始记录。若比例低,说明格式混乱,回填会制造大量错值,这时应先规范录入,再考虑拆分。
需要留意的例外:拆分后的字段如果仍要支持模糊搜索,不要立刻删掉原文本字段。搜索请求量下降或某个旧字段访问归零,并不能单独证明拆分正确,也可能只是筛选入口变了、用户还没适应,或统计口径本身有变化。
当需要的数据在库里根本不存在,扩展方式取决于基数关系。一个订单只对应一个来源渠道,加一个字段就够;一个订单对应多个配件、多个跟进人,加字段会导致重复存储,应改为新增关联表,用主键关联。
判断依据可以看三点:同一记录是否会填多个值、这些值是否需要独立查询、未来是否还会继续增加。三者只要命中两个,就倾向关联表。反之,单值、查询频率低、几乎不会增长的,加字段成本更低。
实施动作上,先确认后台是否开放字段管理权限。有权限时,新增字段后要同步检查三处:前台表单是否出现该输入项、列表和详情页是否展示、导出文件是否包含该列。只加数据库字段而不改表单,等于永远收不到数据。没有权限时,最小动作是先用现有字段做临时记录,并明确约定书写格式,同时把需要新增的字段清单整理出来交给有权限的一方,而不是自行改动结构。
新增字段后,历史记录该字段为空是正常状态。要让旧数据可用,需要一次回填。回填前先备份,回填后抽查若干条,确认新旧值一致。若字段涉及必填校验,不要立刻设为必填,否则历史记录在编辑时会因空值无法保存,反而阻碍正常维护。
假设的例子:某站点上线时只有一个“联系电话”字段,后来想区分座机和手机。做法是新增“号码类型”字段,用规则把已有号码按位数或前缀初判,再人工复核。这个例子的数字只用于说明比较方法,不代表任何真实站点的数据情况。若初判错误率高,说明规则不成立,应改为人工标注而非继续自动填充。
缺少完整数据和权限时,仍能执行的最小动作包括:导出并备份现有数据、统计字段实际填写率、整理新增字段清单、约定临时录入格式。这些动作不依赖后台权限,也不会破坏现有结构。
但不能由此推出:字段加完就能提升收录或排名;某个插件一定支持所需字段类型;新增关联表后查询速度必然变快。字段扩展解决的是数据能否被记录和筛选,和搜索表现、工具现行功能没有必然关系。扩展完成后,下一步应验证表单提交、列表筛选、导出三处是否一致,再决定是否需要调整展示逻辑。