2
我正在構建一個經常更新其他API的本地數據庫的系統。我將Python腳本設置爲cron作業,並且他們幾乎可以完成這項工作。防止基於列(MySQL)的重複行?
但是,一個缺點是,腳本需要很長時間才能執行。當他們第一次運行時,這個過程很快,但在此之後,需要將近20分鐘才能從第三方API接收到的200k +項目清單。
問題是腳本首先從數據庫中獲取所有行,並將其必須唯一的列值添加到列表中。然後,在瀏覽API結果時,它會檢查列表中是否存在當前項目必須唯一的值。這真的是真的沉重,因爲列表中有超過200K的值。
有沒有辦法檢查INSERT
- 查詢,基於單列,沒有重複?如果存在,則不要添加新行。
任何幫助將不勝感激=)
雖然是一個問題。有些場合要求共同獨特的列是重複的,而另一列不能。有沒有辦法讓唯一列設置查詢特定? –
您的商業規則越複雜,現成的解決方案的可能性就越小。也許還有其他方法可以對它們進行建模,以使它們得到內置機制的支持。示例:如果您有一個帶有唯一鍵的UNIQUE鍵的表以及另一個沒有其他鍵的UNIQUE鍵的克隆表,則可以使用UNION表創建的視圖可以滿足您的需要。這取決於您的業務規則,但... – Konerak
好吧,我明白了。謝謝你的幫助。 –