【发布时间】:2020-10-14 13:54:12
【问题描述】:
我的 Web 项目有一个名为 DB_CONNECTOR 的类,其中捆绑了与 mysql 数据库交互的所有函数。这些函数包括get_user()、add_user()、change_user_attribute() 等等。在这些函数中的每一个函数中都会执行一个 sql 查询,作为一种好的做法,我使用准备好的语句(带有命名参数)。
目前与数据库的连接是在类的构造函数中建立的,并且所有语句都在那里准备好。我认为这是个好主意,所以这些语句都可以立即执行。
现在我意识到我的用例通常是创建一个 db_connector 对象,执行一个或两个函数,然后对象生命周期结束,并且在稍后的步骤中可能会构造(或不构造)新的对象。所以,我不太确定将准备好的语句放在构造函数中是否明智,因为可以预见我最终会得到至少 20 个或更多的准备好的语句。
所以我的问题是:
- 即使只使用一两个语句,在构造函数中准备所有语句是否是个好主意?
- 或者我应该在执行前在函数中准备它们以避免不必要的准备工作给数据库带来压力?
【问题讨论】:
-
我想你在这里真的回答了你自己的问题:)
标签: php mysql pdo prepared-statement