переупорядочить массив строк с минимальными операциями обновления БД - PullRequest
0 голосов
/ 27 сентября 2018

Допустим, я храню некоторые упорядоченные строки, например:

   1 apple
   2 banana
   3 pear
   4 mango
   5 cantaloupe

Теперь мне нужно вставить клубнику, которая должна отображаться в позиции 4. OFC Я могу легко это сделать, обновив числовой индекс, например:

   1 apple
   2 banana
   3 pear
   4 strawberry
   5 mango
   6 cantaloupe 

Но проблема в том, что если мне нужно сохранить это обновление позиции в базе данных, мне нужно сохранить 3 операции:

   a) UPDATE index = 6, WHERE index=5  
   b) UPDATE index = 5, WHERE index=4  
   c) insert strawberry at position 4  

Что хорошо для небольших списков, но вбольшие списки Я бы закончил с большим количеством операций обновления позиции.

Есть ли более эффективный подход?Может быть, использовать что-то кроме цифр?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...