Хорошо, я отвечаю снова, потому что ваше обновление показывает, что вы задаете совершенно другой вопрос, чем все думали, что вы.
Метод, который вы описали - обновить индекс перемещенной строки и каждого списка в списке после нее - совершенно правильный метод.
Почему вы говорите, что "это слишком много обновлений sql"? Пока к столбцу index
применен индекс MySQL , эти обновления будут быстро светиться, даже для очень больших списков (они будут порядка миллисекунд).
Я думаю, вы либо предварительно оптимизируете, либо у вас нет определенного индекса. Чтобы добавить индекс (если у вас его еще нет), выполните следующую команду:
CREATE INDEX row_index_index ON `some_table` (`index`);
Вы также можете пересмотреть переименование столбца «index» во что-то вроде «position», чтобы избежать путаницы в номенклатуре с фактическим индексом MySQL.