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?
在此先感謝
修復語法錯誤的其餘部分。 – 2014-10-22 10:33:24
將它寫入日誌文件並每小時在一個cron中處理它? – Adam 2014-10-22 10:35:05
緩存查詢字符串並使用cron作業或會話完成後一次全部運行它們。這取決於您何時需要插入:D – 2014-10-22 10:35:20