我想清理舊的SQLite3數據庫,從中刪除約30,000條舊記錄。
要刪除我使用這個查詢:加快速度很慢的查詢
DELETE
FROM
ITEMS
WHERE
ITEMS_ID IN (
SELECT
ITEMS_ID
FROM
ITEMS
WHERE
LASTSALEDATE NOT LIKE '2014%'
AND LASTSALEDATE NOT LIKE '2013%'
AND LASTSALEDATE NOT LIKE '2012%'
AND ITEMS_ID != 1
AND ITEMS_ID != 4
);
的問題是,我已經注意到這個查詢是很慢的,或者更好,那麼慢,它需要年齡和我已經中止,因爲似乎卡住了。
我覺得問題是SELECT
裏面的裏面每個行都被重複刪除。
我該如何解決這個問題?
你爲什麼不把DELETE語句中的WHERE strait? – Prasanna
我簡化了一下,SELECT用在多個表格中,但在這種情況下你可能是正確的... –
其中lastsaledate <'2012'而不是3個不喜歡可能有幫助。 –