最佳实践:sql视图真的值得吗?

sto*_*ter 3 mysql sql sql-server

我正在构建一个新的Web应用程序,其数据存储在数据库中.尽可能多的Web应用程序,我需要从复杂的SQL查询中公开数据(从多个表中查询条件).我想知道在数据库中将查询构建为sql视图而不是在应用程序中构建它是否是一个好主意?我的意思是什么会有什么好处?数据库性能?我会更长时间编码吗?调试更长?

谢谢

ewe*_*nli 6

这不能真正客观地回答,因为它取决于具体情况.

通过视图,函数,触发器存储过程,您可以将应用程序的部分逻辑移动到数据库层中.

这可以有几个好处:

  • 性能 - 您可以避免数据的往返,并且使用整个DBMS功能可以更有效地处理某些处理.
  • 一致性 - 使用DBMS功能可以更轻松地表达某些数据处理.

但也有一定的缺点:

  • 可移植性 - 您越依赖于DBMS的特定功能,应用程序的可移植性就越低.
  • 可维护性 - 逻辑分散在两种不同的技术中,这意味着维护需要更多技能,而本地推理更难.

如果你坚持SQL92标准,这是一个很好的权衡.

我的2美分.