2014-10-22 67 views
0

在我的項目中,我有一個javascript函數,該函數異步運行一個查詢,在發生事件onscroll時執行插入MYSQL表(InnoDB)的事件(在事件停止至少200毫秒)在很短的時間內多次插入Mysql

var delay = 200; 
var timeout = null; 
var fScroll = 0; 
$(window).on('scroll', function (e) { 

    clearTimeout(timeout); 
    timeout = setTimeout(function(){ 
     var ypage = window.pageYOffset; 
     var sesId = responseSID.sesID; 
     var pDest = $(location).attr('href'); 
     $.get(/php/regScroll.php", { P1: "E", P2: ypage, P3: sesId, P4: pDest }); 
     fScroll = 0; 
    },delay); 
}); 

此事件發生在那麼多次,但應包含的數據是非常小的,INSERT語句被稱爲每分鐘很多很多次,並在多個併發用戶的情況下,有時可能該行未被插入到表中。

您是否有一些技巧來管理InnoDB表中與MySql非常接近的INSERT?

在此先感謝

+0

修復語法錯誤的其餘部分。 – 2014-10-22 10:33:24

+0

將它寫入日誌文件並每小時在一個cron中處理它? – Adam 2014-10-22 10:35:05

+0

緩存查詢字符串並使用cron作業或會話完成後一次全部運行它們。這取決於您何時需要插入:D – 2014-10-22 10:35:20

回答