實際數據計數是60K,在我使用下面的查詢使用SQLLite從60K數據刪除50條記錄需要更多的時間(17560毫秒)
Delete from Analysis where AnalysisKey in (34,35,36,37,38,39,40,41,42,43,44,45,46,47,48,49,50,51,52,53,54,55,56,57,58,59,60,61,62,63,64,65,66,67, 68,69,60,61,62,63,64,65,66,67,68,69,70,71,72,73)
如何使更快地刪除那些只刪除50條記錄記錄?
聽起來像你需要一個更好的索引在你的桌子上。你有索引嗎? – Nick 2013-03-19 12:23:23
它是否總是被命令?那麼也許你可以使用'AnalysisKey BETWEEN 34 AND 73'或者至少'AnalysisKey> = 34 AND AnalysisKey <= 73'。還有指數! – Corak 2013-03-19 12:26:13
我懷疑性能滯後不是IN(...)和BETWEEN之間的微小差異,而是在尋找AnalysisKey匹配的全表掃描中。是AnalysisKey索引?它被定義爲主鍵嗎? – Tim 2013-03-19 12:35:29