вот, ещё вариант :)
в данном случае ограничение в 10 вставок ( хотя кол-во нулей можно добавить ), но мой вариант я считаю получше, в нем минимум 64000 вставок до перестройки ключей, хотя ключ может разростись что тоже потребует перестройки
o7412369815963Это типа пессимистический прогноз на входные данные, если пользователь подряд будет вставлять на вторую позицию? Ох он коварный! :)
в данном случае ограничение в 10 вставок
ZubchickЯ привел пример с целыми числами неспроста. И уже не вернулся к предложенному ранее decimal(10, 2).
Разница в том, что мы имеем почти бесконечный запас возможностей для вставки (тк тип записи вещественный и делить на 2 можно досмерти)
ZubchickТут я согласен при определенных исходных условиях (коих мы полностью не знаем).
так же не пляшем с бубном около id и оставляем его автоинкрементным
Zubchickя тоже думаю что должен быть какой-то более правильный вариант, но пока его никто не подсказал. принцип сортировки должен быть такой что пользователь задает порядок чередования элементов ( при сортировке по цене и думать ничего не надо ).
а, все я понял ваш хитрый план. Но мне почему-то тоже кажется что это какой-то костыль и наверно где-то что-то надо было сделать по-другому :)
А конкретено - не понятен принцип сортировки, например если бы была еще цена, то сортировать для вывода на экран можно было бы по ней.
Lexanderусловия все известны, полностью задачу описал в 3-м посте
Тут я согласен при определенных исходных условиях (коих мы полностью не знаем).
o7412369815963Немного с запозданием, но отвечу…
типа того, но если мне ещё раз нужно будет вставить после “('o7412369815963', 10, 1),”, какой все будет браться и откуда будет браться?
чтение не будет затратным т.к. это простой селект: “select name,VES from table order by VES”
o7412369815963Перечитал пост.
условия все известны, полностью задачу описал в 3-м посте
o7412369815963Размер базы?
условия все известны, полностью задачу описал в 3-м посте
nerijusв данном методе вставить элементы можно только к элементам верхнего уровня, к вставленным объектам не вставить… типа того, имхо, да и выборка не простой селект.
Еще одна идея использовать linked list, а нумерацию проделаешь после запроса. Например как здесь: http://dotnetthoughts.wordpress.com/2008/01/01/persisting-the-doubly-linked-list/ В принципе неважно как ты это реализуешь, но если будешь хранить не порядковый номер, а ParentId, то вставить или поменять местами не составит труда.
Lexanderбаза - MongoDB (sql привел для объяснения), сейчас в данной коллекции около 5000 документов, алгоритм хочу с расчетом на будущее (до 1млн), да и вообще полезно знать подобные алгоритмыo7412369815963Размер базы?
условия все известны, полностью задачу описал в 3-м посте
Способ работы с базой (ХП или прямые инсерты)?
Расположение базы?
…