1

在某个时间点,我们更改了用于数据库的命名模式。数据库中的每个表名和列名都被重命名,但结构保持不变。

我需要能够从我的程序中的当前表和旧表中读取。到目前为止,我们只有一组大型映射数组,我们可以使用它来即时转换结果。我们发现,在我们的 PHP 代码中访问这个数组数千次以转换每个结果的每一行中的每个列名会严重损害我们的性能。

解决这个问题的最佳方法是什么?可以从 SQL Server 中完成吗?

4

1 回答 1

2

我认为两个最简单的选择是:

  • 为每个重命名的表创建一个视图。旧表名是视图的新名称。旧列映射到新列。无需更改应用程序代码。
  • 或者,如果您有一层代码来进行映射,那么您可能正在使用 ORM 或其他一些 DB 抽象层。如果可能,请在查询之前通过添加列别名或重命名结果集对象/数组字段来进行映射。
于 2013-10-17T21:20:56.873 回答