Przemyślałbym projekt bazy danych. Jeśli zamierzasz ograniczyć się do rzędu rekordów 10K, to nie jest tak źle, ale jeśli ma to wzrosnąć bez ograniczeń, będziesz chciał zrobić coś innego. Nie jestem pewien, co robisz, ale jeśli chcesz prostego zamawiania (zakładając, że nie robisz dużo przemierzania), możesz mieć prev_id
i next_id
kolumna, aby wskazać relacje rodzeństwa. Oto odpowiedź na Twoje pytania:
update some_table
set some_position = some_position + 1
where some_position > 5000 and some_position < 10000