История изменений
Исправление
asdpm,
(текущая версия)
:
не читал Рогова, нет времени к сожалению, хотелось бы конечно
потому приложению нужно уметь их перезапускать
транзакции вступившие в конфликт падают и на repeatable read. и их точно так же «нужно» перезапускать. вы сейчас делаете это на repeatable read - значит видимо сможете на serializable.
false positive
это да, потому что, видимо, нельзя эти зависимости выразить предикатными блокировками, поэтому они завязаны на индексы где возможно, а где нет - они получаются «эскалированными» (хотя это термин немного из другой области)
это все же медленней
конечо, да еще и память нужна чтобы эти графы хранить.
но мне думается, если не разумнее, то может быть справедливее было бы сравнивать с serializable в блокировочной БД. ну или объективнее это было бы.
я не призываю, это уж точно. можно каждую транзакцию анализировать по возможным таймингам каждого действия и оценивать сериализуемость на данном уровне. (я на бумажке делаю если надо, без шуток). и в коде ставить коммент с фамилией.
Исходная версия
asdpm,
:
не читал Рогова, нет времени к сожалению, хотелось бы конечно
потому приложению нужно уметь их перезапускать
транзакции вступившие в конфликт падают и на repeatable read. и их точно так же «нужно» перезапускать. вы сейчас делаете это на repeatable read - делайте и на serializable.
false positive
это да, потому что, видимо, нельзя эти зависимости выразить предикатными блокировками, поэтому они завязаны на индексы где возможно, а где нет - они получаются «эскалированными» (хотя это термин немного из другой области)
это все же медленней
конечо, да еще и память нужна чтобы эти графы хранить.
но мне думается, если не разумнее, то может быть справедливее было бы сравнивать с serializable в блокировочной БД. ну или объективнее это было бы.
я не призываю, это уж точно. можно каждую транзакцию анализировать по возможным таймингам каждого действия и оценивать сериализуемость на данном уровне. (я на бумажке делаю если надо, без шуток). и в коде ставить коммент с фамилией.