【发布时间】:2011-07-25 20:33:55
【问题描述】:
编辑以消除歧义:在 MVC 中查看而不是数据库视图。
你好,
每次开发数据库驱动的应用程序时,我都会面临设计决策。假设我有一个表 X,我想根据视图获取不同的列。一个视图可能需要一列,另一个视图可能需要所有列。
我目前正在做的是拥有一个返回所有列select * from X 的存储过程,并且我根据视图绑定列。我不认为这是正确的方法,因为我选择了不必要的列并且数据库很大并且流量正在增加。
实现这种设计的最佳方式是什么?我应该保留 1 SP 方式还是为每个视图设置一个存储过程(每个 SP 返回不同的列)。有没有可能在这里有用的设计模式?我曾考虑为 SP 指定列,但它会使维护成为一场噩梦,因为我必须跟踪每个视图的列参数。
谢谢。
【问题讨论】:
-
我假设您在问题中对“视图”的所有使用都与 MVC(或 MVP)应用程序中的视图有关,而不是与 SQL 视图有关?
-
说得对,对view这个词的使用有歧义见谅。
标签: sql stored-procedures