我有一張非常大的表,主鍵爲BINARY(20)
。獲取爲ON DUPLICATE KEY UPDATE多插入插入的行數?
該表有1700萬行左右。每個小時一個cron作業都會嘗試使用ON_DUPLICATE_KEY_UPDATE
語法在此表中插入多達50,000個新條目。
cronjob中的每個插入都有1,000個值(多個插入)。如何從此查詢中獲取插入到表中的行數?由於行數大約爲1700萬行,因此我無法進行行計數,而且查詢太昂貴。
在手動MySQL的說,對於行插入的行受影響的數量是1
和更新的領域是2
,我在1000 INSERT對重複密鑰更新查詢這意味着我可以有受影響的行從1000 - 2000,但我無法告訴從這個數字插入了多少記錄?
我該如何克服這個問題?
謝謝
我的數學是不是最好的,我不能讓我的頭一輪這一笑,我會做一些測試,謝謝哥們。 – Griff
你的確是正確的感謝傢伙救了我的一天:) – Griff
這asnwer假定我們會得到1或2的每一行。 從MySQL的文檔: 對於INSERT ... ON DUPLICATE密鑰更新語句,每行中的受影響的行值是1,如果該行被插入作爲一個新的行,2如果現有的行被更新,和0如果一個現有的行設置爲當前值 所以,我認爲,如果現有的行保持不變,我們會得到0,這是不行的..:謝謝/ – tomas