sql - 延迟写入 SQL Server

标签 sql optimization azure appfabric

我正在开发一个应用程序,需要跟踪页面的浏览量。几乎就像SO是怎么做的。它是用于确定给定页面的受欢迎程度的值。

我担心每次需要记录新 View 时写入数据库会影响性能。我知道这种临界预优化,但我以前遇到过这个问题。无论如何,该值不需要是实时的;延迟10分钟左右就可以了。我认为缓存数据并每 X 分钟进行一次大型写入应该会有所帮助。

我在 Windows Azure 上运行,因此 Appfabric 缓存可供我使用。我最初的计划是创建某种复合键(PostID:UserID),并用“pageview”标记该键。 Appfabric 允许您通过标签获取所有 key 。因此,我可以让它们建立起来,并在我的表中执行一次批量插入,而不是许多小写入。该表看起来像这样,但可以更改。

int PageID | guid userID | DateTime ViewTimeStamp

网站仍然会从数据库获取值,写入只会被延迟,有意义吗?

just read Windows Azure Appfabric 缓存不支持基于标记的搜索,因此它几乎否定了我的想法。

我的问题是,你将如何实现这一目标?我是 Azure 新手,所以我不确定我的选择是什么。有没有办法在不基于标签的搜索的情况下使用缓存?我只是在寻找有关如何延迟这些 SQL 写入的建议。

最佳答案

您可能想看看 http://www.apathybutton.com (以及它链接到的 Cloud Cover 剧集),其中讨论了一种高度可扩展的计数方式。 (这可能超出了您的需求,但希望它能为您提供一些选择。)

关于sql - 延迟写入 SQL Server,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9521643/

相关文章:

c - gcc -fPIC 似乎与优化标志混为一谈

c++ - clang 空基类优化 (EBCO)

azure - 了解 Azure block Blob 存储限制

sql - Delete From 语句中带有别名的表变量

MySQL 查询子字符串和计数

c++ - clang 无法优化掉仅在 main() 中使用的全局变量?

c# - azure 队列存储-将消息放回到队列中

azure - Windows Azure Pack - 存储在哪里?

sql - SQL 连接的补充?需要 T-SQL 帮助

PHP 超链接/从 SQL DB 中获取单个记录