我阅读了oci_cancel的文档,但对我来说似乎有点模糊。
oci_cancel
是否终止服务器上的sql进程?
如果没有,我如何编写脚本执行sql查询,等待片刻,如果查询超过10秒(例如),在服务器中取消查询?
如果这个问题和以前问过的一个问题很相似,但是我没有找到满意的答案,请原谅。
PDO允许您使用"ATTR_TIMEOUT"属性指定查询超时,尽管这完全取决于驱动程序是否支持它。
最终我不得不使用一个不知道它是否是最好的解决方案,但它是各种东西的混合物:
我已经使用类似的东西来保存CSV文件中的查询结果,然后将它们提升到会话变量中。
好吧,我用这种方式制作一个CSV文件与查询的结果,发送查询由PHP执行后台脚本在PHP set_time_limit(10),然后等待一段时间(10秒),直到查询的结果保存在会话变量。如果时间(10秒)过去了,我还没有得到查询保存在会话变量中,我继续做下一个动作。