【发布时间】:2011-12-16 20:35:46
【问题描述】:
我需要创建一个包含会话的表。成功通过身份验证的新用户将被添加到表中。每次用户打开页面时,用户都会在此表中进行检查。所以我想使用每分钟运行一次的 PL/SQL 程序并删除超过 30 分钟的会话来刷新“死亡”会话。
或者也许每次重新加载页面时执行DELETE FROM "Dates" WHERE "Date" < SYSDATE - 1/48;会是一个更优化的解决方案?
【问题讨论】:
-
呃,出于好奇,为什么要使用 PL/SQL 过程?这是否意味着由 dbms_scheduler 或其他东西运行?
-
或者如果我每次重新加载页面时都执行 ... 可能应该避免在页面加载期间杀死“死会话”,但将其作为偶尔运行的后台进程(比如每 5 分钟运行一次)即使每分钟运行一次,服务器上的负载也会比每次页面加载时执行的负载要少得多。 (假设一个稍微成功的 Web 应用程序。)并且避免因为页面不需要的东西而减慢页面加载速度。正如 Jeff Atword 所说,“性能是一种特征。” codinghorror.com/blog/2011/06/performance-is-a-feature.html
标签: oracle oracle10g oracle11g