from my_super_table where last_touched < now()-'5 min'::interval;
Скорее нет, но не поручусь. А что? (И нет, в много потоков такое всё равно не будет выполняться.)
Да я вот не могу понять: оно тормозит в таком вырожденом случае или надо еще других таблиц досыпать.
Да может
А как? Я попробовал вот такой вырожденный случай, не получилось. \set aid random(1, 10000000) delete from tt where tt_date < now()-'10s'::interval; insert into tt(id) values (:aid); В проде где всего побольше периодически дедлочится.
Смотреть надо в lock. А так насколько я помню оно накладывает блокировки в цикле по подходящим строкам. А кто быстрее тот и прав ))))
А может оно в одной транзакции начать с ctid(0,16) в другой с (1,19) и взаимно ждать потом друг друга?
для дедлока delete с delete надо что бы они шли в обратном порядке, например что бы первый delete удалял 1,2,3, строки, а второй 3,2,1
А в delete нет порядка
Обсуждают сегодня