是否在sql中使用视图不再需要?

时间:2010-11-11 05:51:35

标签: sql-server coldfusion

我刚接到我的经理的命令,说我们的最新版本的coldfusion 8供电网站,我们不会使用任何观点。

他认为我们的承包商对Coldfusion 8说的是,性能优势很小,而且查看代码的代码非常不方便。

我们有一个开发服务器,上面有coldfusion,iis和sql server 2005,但是其他程序员和我的经理要么拒绝使用它,要么不关心它。我不认为他们真的理解开发服务器和源代码控制的重要性,但这不是我的主要问题。

我们确实有很多自定义报告,并且只在这里工作了一年,而且只是兼职,很难掌握他们的数据库,因此在我们的新版本中使用视图进行报告会使抓取某些数据集要容易得多,而不是在coldfusion代码中拥有所有复杂的连接。

我会尊重他的意愿,当然,由于缺乏支持这一决定的证据,我感到非常震惊。

在我们的生产服务器上,我们有Coldfusion 8 Standard,IIS7,SQL Server 2008.

我能理解看到所有sql的难易程度,但我每天都使用ssms,查看表,视图和存储过程,所以我不认为是专家,但我对sql server比较熟悉。

我想这就是我对他们的期望,有一些不使用视图的可靠理由。

我是不合理的吗?

我不想进入论证,这是毫无意义的,但是当它们甚至没有可靠的开发生命周期或使用源代码控制时,它会如此困难。

我不想成为肛门呜咽,粗鲁或让他们感到不舒服,但我只是不明白为什么他们没有采用我认为基本必须具备的任何类型的固体网络编程公司或部门。

很抱歉很长的帖子,这让我很困扰,我想确保这个决定因性能原因而有意义,或者我可能只有太少的影响力让他们明白为什么这个决定是错的,我将不得不接受它。

但有没有明确的可证明的证据,我们不再需要使用coldfusion / sql server的视图了?

6 个答案:

答案 0 :(得分:3)

我认为缺点是 NO

观点还没有消失,它们甚至还没有交错,相反我觉得它比大多数人想象的要多得多。

在这种情况下,我宁愿与其他人进行内容丰富的讨论。准备好自己,获取一些文档,并整理一些演示文稿。展示你的方式的利弊,并开放讨论。但永远记住,因为客户总是对的,所以经理/老板认为他们是......

答案 1 :(得分:2)

视图是一个有自己位置的SQL构造。我通常更喜欢存储过程,但是当它们是手头任务的理想选择时使用视图。

正确使用的视图没有性能开销。

答案 2 :(得分:2)

我想知道为什么没有人提到这一点,但巨大的好处之一是他们限制对底层表的访问的能力。您可以拒绝直接访问表,根据需要创建视图(限制列/行)并根据应用程序/项目的指示授予权限。永远不会有足够的保护。 正如其他人所说,没有任何性能下降。

答案 3 :(得分:1)

简短回答:您永远不需要使用视图。有些人认为视图类似于数据库触发器,数据库应该被视为一堆数据,而不是它自己的专用数据处理系统。

性能影响?应该这样做。

谁是对的?无论是/没有。它只是一个不同的哲学。我认为没有理由放弃观点。

答案 4 :(得分:1)

我喜欢使用视图 - 特别是对于跨越多个数据库的数据。它提供了一种将这些数据提取到单个数据结构中的方法,并且模糊了有些冗长的查询。但是,必须谨慎小心地使用它们以避免性能瓶颈。性能中通常没有增益

仍然 - 将他们排除在手之外似乎过于严苛。他们有自己的位置。最终它可能不是一场值得战斗的战斗。借用功夫熊猫 - “观点,不要看......面条,不要面条......”

答案 5 :(得分:0)

  

表现的好处是   最小

所以基本上他之前认为有显着的性能优势。没有人告诉他阅读手册。

视图从不(!)有一个表演的好处。它们总是易于使用。像代码片段一样。重复观点是另一回事,但它们很新,而不是这里的含义。

视图始终是关于简化SQL编程的。它们总是在运行时进行评估。

所以,基本上,你有一个不称职的经理妄想而不是有人破解他们而且他因为没有看到优势而反应过度。