Php 对于具有持久连接的顺序查询,是否需要使用过程或函数

Php 对于具有持久连接的顺序查询,是否需要使用过程或函数,php,database,postgresql,codeigniter,Php,Database,Postgresql,Codeigniter,我在Codeigniter框架中为应用程序使用PostgreSQL和PHP 是否存在需要一次插入、一次更新和一次选择顺序的顺序查询 在与数据库建立持久连接以进行顺序数据库查询时,是否需要使用过程或函数 持久连接用于保持一个“池”,以便更快地使用,自动管理连接使用情况和其他相关功能,但不要忽略这样一个事实,即它可以节省每次为需要执行的DB查询建立连接的开销时间 SELECT不需要函数或过程,除非 A.根据前面的DML操作,您不希望“脏读”,即希望插入/更新操作成功,然后仅触发选择。 B当您转换选择

我在Codeigniter框架中为应用程序使用PostgreSQL和PHP

是否存在需要一次插入、一次更新和一次选择顺序的顺序查询

在与数据库建立持久连接以进行顺序数据库查询时,是否需要使用过程或函数

  • 持久连接用于保持一个“池”,以便更快地使用,自动管理连接使用情况和其他相关功能,但不要忽略这样一个事实,即它可以节省每次为需要执行的DB查询建立连接的开销时间
  • SELECT不需要函数或过程,除非 A.根据前面的DML操作,您不希望“脏读”,即希望插入/更新操作成功,然后仅触发选择。 B当您转换选择结果时,例如从3-4个表中选择、在返回最终结果之前对内存中的数据进行处理、应用业务规则等
  • 是的,当您希望DB处理逻辑包含在DB本身中时,建议始终将I/U/D(DML操作)封装到函数或过程中。i、 e.您不希望您的UI包含复杂的DB查询,也不希望由于查询中的非绑定变量而导致性能问题。。 另外,在您的示例中,如果我当时做对了,您希望执行步骤1-3作为插入/更新,然后触发选择。如果这是一个捆绑操作,那么要么使用块模式操作,要么更好/更容易地将其封装在函数/过程中,这样无论在过程/函数代码中控制条件的成功与否,每次都可以获得已知的结果

  • 谢谢分享你的知识。这对我很有帮助。再次感谢。嘿。我试图澄清你的问题,先去掉一些杂音,用更直截了当的措辞(你的语法有点不对劲)。请记住,当提出问题时,最好清楚地表明这是一个带有问号和清晰陈述的问题。我尽我所能保留你问题中我能理解的意思,尽管我不确定你所说的“必要性”到底是什么意思