Saya akan memikirkan kembali desain database. Jika Anda akan dibatasi pada urutan catatan 10K maka itu tidak terlalu buruk, tetapi jika ini akan meningkat tanpa terikat maka Anda akan ingin melakukan sesuatu yang lain. Saya tidak yakin apa yang Anda lakukan tetapi jika Anda ingin pemesanan sederhana (dengan asumsi Anda tidak melakukan banyak traversal) maka Anda dapat memiliki prev_id
dan next_id
kolom untuk menunjukkan hubungan saudara. Inilah jawaban atas pertanyaan Anda:
update some_table
set some_position = some_position + 1
where some_position > 5000 and some_position < 10000