我在PHP中有一个基本的SQL select语句,可以将其传递给oracle服务器。
$queryString = "
SELECT /*+ NOCACHE */
company,
addr1,
addr2,
addr3,
city,
state,
country,
zip,
custno CUSTOMERNUMBER,
prime_contact PRIMECONTACT,
prime_contact_email PRIMEEMAIL,
phone_number PRIMEPHONE,
ext PRIMEEXTN,
fax_number PRIMEFAX,
ID
FROM
IQMS.ARCUSTO
WHERE
ID=" . $ID;
$stid = oci_parse($OracleConnection, $queryString);
oci_execute($stid);
$row = oci_fetch_array($stid, OCI_ASSOC);
oci_free_statement($stid);
oci_close($OracleConnection);
当我执行查询n时,如果我将其单独放置一段时间,它将拉出最新的更改。如果我经常运行该应用程序,它似乎会缓存查询,即使查询中没有缓存提示。
我无法像在生产环境中那样真正刷新服务器上的缓存,并且真的不想降低使用数据的其他应用程序的速度。
如何每5分钟运行一次查询以返回更改的结果?
答案 0 :(得分:2)
对不起,我认为数据库不会由于缓存而提供错误的结果。 documentation说以下
“当用户重复执行查询和功能时,数据库从缓存中检索行,从而减少了响应时间。当修改从属数据库对象中的数据时,缓存的结果将无效。”
因此,我建议您要么检查数据是否确实已更新,要么在另一个应用程序层上查找缓存的结果。
再次,很抱歉没有帮助