【发布时间】:2010-11-21 18:23:13
【问题描述】:
如果查询时间过长,有什么方法可以让 PDO 对象抛出错误?我试过 PDO::ATTR_TIMEOUT 没有效果。
如果查询运行时间超过一定时间,我想要一种方法来引发错误。这不是我可以在数据库中做的事情,即没有在数据库上运行维护作业或任何东西。
【问题讨论】:
标签: php database oracle timeout pdo
如果查询时间过长,有什么方法可以让 PDO 对象抛出错误?我试过 PDO::ATTR_TIMEOUT 没有效果。
如果查询运行时间超过一定时间,我想要一种方法来引发错误。这不是我可以在数据库中做的事情,即没有在数据库上运行维护作业或任何东西。
【问题讨论】:
标签: php database oracle timeout pdo
我不确定您所说的“这不是我可以在数据库中做的事情”是什么意思,但我建议您让管理数据库的人员设置一个 Oracle 配置文件以在数据库方面限制这一点.有诸如 CPU_PER_CALL 和 LOGICAL_READS_PER_CALL 之类的参数可以限制查询。如果需要,该配置文件只能应用于特定用户。
【讨论】:
我不确定您是否可以在 Oracle 中执行此操作,但我要说在 PHP 中执行此操作是不可能的,因为 PHP 正在向 Oracle 发出要运行的查询,然后等待 Oracle 的回复。可能可以修改 PDO 扩展以支持此功能,但您需要修改扩展代码(实际的 C 代码),因为可能没有任何方法可以仅在 PHP 中执行此操作。
【讨论】: