<ruby id="bdb3f"></ruby>

    <p id="bdb3f"><cite id="bdb3f"></cite></p>

      <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
        <p id="bdb3f"><cite id="bdb3f"></cite></p>

          <pre id="bdb3f"></pre>
          <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

          <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
          <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

          <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                <ruby id="bdb3f"></ruby>

                合規國際互聯網加速 OSASE為企業客戶提供高速穩定SD-WAN國際加速解決方案。 廣告
                如果應用在表中保存計數器,則在更新計數器時可能碰到并發問題,計數器表應在web應用中很常見 可以用這種表緩存一個用戶的朋友數,文件下載次數等.創建一張獨立的表存儲計數器通常是個好主意,這樣可使計數器表小而快.使用獨立的表可以幫助避免查詢緩存失效 應該讓事情變得盡可能簡單,假設有一個計數器表,只有一行數據,記錄網站的點擊次數 ~~~ create table hit_counter( cnt int unsigned not null ) engine=Innodb ~~~ 網站的每次點擊都會導致對計數器進行更新 ~~~ update hit_counter set cnt = cnt +1; ~~~ 問題在于,對于任何想要更新這一行的事務來說,這條記錄上都有一個全局的互斥鎖(mutex)這會使得這些事務只能執行串行執行.要獲得更高的并發更新性能,也可以將計數器保存在多行中,每次隨機選擇一行進行更新.這樣做需要對計數器表進行如下修改 ~~~ create table hit_counter( slot tinyint unsigned not null primary key, cnt int unsigned not null )engine=Innodb; ~~~ 然后預先在這張表增加100行數據.現在選擇一個隨機的槽(slot)進行更新 ~~~ update hit_counter set cnt = cnt+1 where slot = rand()*100; ~~~ 要獲得統計結果,需要使用下面這樣的聚合查詢 ~~~ select sum(cnt) from hit_counter; ~~~ 一個常見的需求是每隔一段時間開始一個新的計數器(例如,每天一個).如果需要這么做,則可以再簡單的修改下表的設計 ~~~ create table daily_hit_counter ( day date not null, slot tinyint unsigned not null, cnt int unsigned not null, primary key(day,slot) )engine=Innodb; ~~~ 在這個場景中,可以不用像前面的例子那樣預先生成行,而用`on duplicate key update` 代替
                  <ruby id="bdb3f"></ruby>

                  <p id="bdb3f"><cite id="bdb3f"></cite></p>

                    <p id="bdb3f"><cite id="bdb3f"><th id="bdb3f"></th></cite></p><p id="bdb3f"></p>
                      <p id="bdb3f"><cite id="bdb3f"></cite></p>

                        <pre id="bdb3f"></pre>
                        <pre id="bdb3f"><del id="bdb3f"><thead id="bdb3f"></thead></del></pre>

                        <ruby id="bdb3f"><mark id="bdb3f"></mark></ruby><ruby id="bdb3f"></ruby>
                        <pre id="bdb3f"><pre id="bdb3f"><mark id="bdb3f"></mark></pre></pre><output id="bdb3f"></output><p id="bdb3f"></p><p id="bdb3f"></p>

                        <pre id="bdb3f"><del id="bdb3f"><progress id="bdb3f"></progress></del></pre>

                              <ruby id="bdb3f"></ruby>

                              哎呀哎呀视频在线观看