Я бы не подумал, что они будут делать это достаточно часто, чтобы быть реальной проблемой, но, если вы волнуетесь, воспользуйтесь трюком, который мы впервые применили к нашему БЕЙСИК-коду с давних времен.
Назад, когда у BASIC были номера строк, мы просто нумеровали бы их 10, 20, 30 и т. Д., Так что, если нам нужно было вставить число от 10 до 20, мы бы назвали его 15. Или, если бы 20 до 10 мы перенумеруем его в 5.
С 32-битным целочисленным столбцом вы можете иметь 200 000 друзей с интервалом в 100, что более чем достаточно, чтобы перемещать вещи, особенно если вы умны.
Вы можете периодически запускать задание очистки, чтобы изменить нумерацию друзей на 100, 200 и т. Д. (Своего рода дефрагментатор диска для вашей социальной сети). Не пытайтесь обнаружить это, просматривая номера друзей, используйте другое поле, устанавливая его в значение true, когда пользователь реорганизует своих друзей, и сбрасывая его при дефрагментации. Это будет более эффективным.