Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Sql server 如何:仅在更新值时从数据库检索值_Sql Server_Logic - Fatal编程技术网

Sql server 如何:仅在更新值时从数据库检索值

Sql server 如何:仅在更新值时从数据库检索值,sql-server,logic,Sql Server,Logic,我有一个场景,我想在网页上显示一组数据 数据由某个进程(我无法控制)在早上的某个特定时间(上午7:00)或手动启动该进程时填充到数据库中。(P.S.同样的数据也以不同的形式在网页的其他地方使用,但使用的渠道不同。) 我想在那一页加上一些逻辑 将数据检索到xml文件中,并从xml文件中读取数据(以避免访问数据库) 仅在上午7:10时检索数据。但是如果有人手动启动进程,数据库会更新,但我的网页要到早上7:10才会更新。即使数据不同步1秒也是不可接受的 最好的方法是什么?有什么聪明的解决方案吗?我希望

我有一个场景,我想在网页上显示一组数据

数据由某个进程(我无法控制)在早上的某个特定时间(上午7:00)或手动启动该进程时填充到数据库中。(P.S.同样的数据也以不同的形式在网页的其他地方使用,但使用的渠道不同。)

我想在那一页加上一些逻辑

  • 将数据检索到xml文件中,并从xml文件中读取数据(以避免访问数据库)
  • 仅在上午7:10时检索数据。但是如果有人手动启动进程,数据库会更新,但我的网页要到早上7:10才会更新。即使数据不同步1秒也是不可接受的 最好的方法是什么?有什么聪明的解决方案吗?我希望避免重复使用相同数据的数据库


    SQL server 2000,ASP.

    您需要某种轮询解决方案

    就在我的头顶上,我会做这样的事情

  • 在正在填充的表(表a)上设置触发器,以便在插入和UDPATE时更新另一个表上的某个控制标志,让我们将其称为控制表

  • 设置您的网站,以便在早上7点到7:10点之间每隔1秒轮询一次控制表。如果控制表指示新数据已到达表A,则获取它们并更新页面,否则不执行任何操作。然而,尽管每秒轮询控制标志太重要了,但您必须问问自己,如果数据有几秒钟不同步,这真的是一个大问题吗?比如说,每隔10秒而不是每秒钟轮询一次


  • 好吧,如果我读对了

    如果是相同的数据,您可以通过索引适当的字段并将数据转换为结构可能不太理想的形式来减少数据库的访问负载,从而加快查询速度


    问题是,判断数据是否已更改的唯一方法是查询数据,因此无法真正避免轮询数据库。最安全的方法是优化结构和查询,使服务器上的负担尽可能小。

    可以使用SqlCacheDependency吗


    顺便说一句,不同步1秒不是一个现实的目标。

    +1关于不能避免轮询数据库。如果你的网站流量很大,你可以对结果进行1秒的缓存,以减少DB往返。兄弟!这甚至不是.NET1.1,它是我们的经典ASP。您正在指向一个2.0功能:)