Autor | Zpráva | ||
---|---|---|---|
MaK Profil |
#1 · Zasláno: 11. 12. 2023, 13:13:47
Velké množství procesů maže řádky z konce tabulky:
DELETE FROM t WHERE time < (NOW() - INTERVAL 1 YEAR) LIMIT 10 Ano, měl by to dělat nějaký service-time po větším počtu řádku, ale to nedokážu zajistit. Jediné co mohu, je minimalizovat deadlocky, které asi budou vznikat. Mohu si dovolit nasledující: DELETE FROM t USING ( SELECT id FROM t WHERE time < (NOW() - INTERVAL 1 YEAR) LIMIT 10 FOR UPDATE SKIP LOCKED ) AS dt JOIN t USING (id); Přeskočí zamknuté řádky a vyhne se tak deadlockům? |
||
Časová prodleva: 12 měsíců
|
0