问题:我有一个30~ishh表数据库,所有表格/列都是英文的。我正在考虑创建视图以使其在所有列中都具有可读性,即每个表的1个视图,其中包含所有列的别名。
原因:我的一位老板(知道如何使用数据库的老板)不喜欢知道数据库都是英文的,但他只是说太晚了重建太贵了。现在,该软件将具有管理工具,用于使用纯SQL提取PDF报告。您键入SQL并获得包含结果的PDF。
费用:我正在研究观点并且看起来很昂贵,this question特别让我觉得这样做并不是一个好主意。
答案 0 :(得分:2)
在这种情况下,查看性能的更好参考是documentation本身。 MySQL使用两种方法来处理视图,一种叫做" merge"和另一个" temptable"。视图的大多数性能问题都归因于" temptable",
使用merge
有重要且重要的限制。但是,幸运的是,重命名列不在其中。因此,只需重命名列的视图可以使用" merge":
create view v_table as
select col1 as col_1, col2 as col_2
from table t;
因此,您可以为每个表编写单独的视图,重命名列,您不必担心性能。你必须担心维护,但这完全是另一个问题。