我有一個大的增長表(目前有1400萬行和計數)。它是來自日誌的「錯誤」列表。其中一些錯誤是我想要在上游修復時過濾的已知問題。在表格中,我有兩個'CheckedForFilter'和'Filtered'我想在10,000行塊中進行如下操作。MySQL - 在大型表的同一個子集上運行多個更新查詢
1) Select on 10,000 rows (where 'CheckForFilter' is false)
2) Run a series of queries that set the 'Filtered' bit in certain criteria is true
3) After the last query runs set the 'CheckForFilter' bit to true
可以設置「過濾」位的查詢列表當前爲5,但我認爲隨着時間的推移它會增長。我的核心問題是我不知道如何每次選擇同一組行。我需要將查詢保持爲可管理的大小,因爲運行時間過長的查詢會延遲服務器複製。
嗯..這聽起來像也許有一個正則表達式模式,將做你的過濾?如果有多個模式 - 那麼你可以將它們存儲在另一個表中,然後在遊標中動態地比較它們。 – Randy
另一個想法 - 對CheckedForFilter值應用什麼過濾器(或更改爲更多值)以指示哪些過濾器已被檢查 - 然後您不太在意每次運行相同的確切設置。 – Randy