PHP 和 Postgres : View vs. SELECT,什么时候使用 View ?

标签 php postgresql select

与我之前的问题相关: PHP and Databases: Views, Functions and Stored Procedures performance 只是为了提出有关大型 SELECT 查询的更具体的问题。

什么时候使用 View 而不是在代码中编写 SELECT 查询并调用它会更方便:

 $connector->query($sql)->fetchAll();

在决定最好使用 View 还是保持原样时,需要考虑哪些因素。比方说,如果您连接多个表,选择一定数量的数据等。

我在一个大型网络应用程序(使用 PHP 和 Postgres)的上下文中询问,并寻求性能和优化。

最佳答案

当您使用 PHP 源代码 + View (而不仅仅是 PHP 源代码)时要考虑的一件事是,您现在在更新应用程序时有两种源代码需要修改:

  • 您必须将新的 PHP 源代码放在服务器上
  • 并且你必须更新 View

如果您不希望应用程序崩溃,有时您必须完全同时执行此操作...或者您必须在编程时认为应用程序必须在过时/更新版本的 View 下正常运行(几秒钟)。

您可能需要考虑的其他事项是版本控制:版本控制 PHP 脚本很简单:只需使用 SVN 及其文本文件就可以了。 对于 View ,要获得相同类型的版本控制,您必须处理文本文件(在数据库生产服务器上更新它们之前在 SVN 上提交),并使它们与数据库服务器保持同步——看起来很容易,但它不是当你必须将紧急补丁推送到生产 ^^

就个人而言,我通常在真正产生差异时使用 View /存储过程:例如,如果计算需要数千个 SQL 查询(因此,来自 PHP 的数千个调用,等待响应,等等) ) 或者两个服务器之间的数据交换太多,使用存储过程真的很棒!

(没用过postgre,其他产品思路一样)

关于PHP 和 Postgres : View vs. SELECT,什么时候使用 View ?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1144132/

相关文章:

php - 如何使用不同的数据库条目达到特定值(整数)?

php - 如果第二列格式不是 sed 的日期,则删除行

php - 在 symfony2 中渲染数据时删除第一行

r - 与 PostgreSQL 外部表的连接

对 TeamCity 进行 docker 化时找不到 Postgresql 驱动程序

mysql - 如何为数字选择第一个唯一 ID

PHP - MySQL IF( bool )条件

database - Eloquent 问题 : Undefined function: 7 ERROR: operator does not exist

php - 匹配选择最新行的主要问题

c - 在循环和多个操作中使用选择系统调用