高吞吐量汇总表

时间:2018-01-12 14:29:33

标签: sql sql-server

我有一个非常高吞吐量的生产Web应用程序,我需要为其设计有效的SQL汇总表。对于通过应用程序的每个请求,我需要将4或5个值附加到数据库中的每小时或每日统计数据

我想到的三个选项:

  1. 带有cols的基本摘要表,例如" day"," totalA"," totalB"," totalC"
  2. 我从经验中知道,生产中应用程序的吞吐量足够高,任何不断更新单行的尝试都会导致巨大的等待锁并使所有线程停滞

    这也意味着我总是要做一个类似" UPDATE WHERE今天的查询.. ROWS EFFECTED == 0? INSERT ..."这似乎是一个糟糕的模式

    1. 每个申请请求包含1行的表格,其中包括"日"," amountA",amountB"," amountC"
    2. 由于超高吞吐量,此表每天至少会增加几百万行。由于我需要永远保留这些数据,因此表格大小会成为一个真正的问题

      1. 选项2 +在另一个表中汇总数据的工作
      2. 让我说我设置一个工作来从选项2表中汇总数据,然后插入一个单独的汇总表,然后从选项2表中删除

        我认为使用此解决方案的问题是,在DELETE过程中,表会锁定并导致应用程序中的INSERT延迟,遗憾的是,即使在几秒钟内也不会接受

        我实际上对这种情况下的最佳做法感到茫然,我们将非常感谢任何输入。

0 个答案:

没有答案