jQuery UI сортируется для гигантских списков и сохранения в базе данных - PullRequest
2 голосов
/ 18 января 2012

Я использую сортируемый список пользовательского интерфейса jQuery, чтобы позволить пользователю перетаскивать и изменять сортировку списка.

Обычно я возвращаю идентификаторы каждого элемента и ключ массива, а затем обновляю номер сортировки каждой строкив базе данных.

Это все нормально, и, глядя на примеры, я думаю, что это нормальный способ сделать это для большинства.

Что я хотел бы знать, так это выполнение запросов UPDATE длякаждый элемент является наиболее эффективным способом хранения порядка сортировки?Вышесказанное хорошо работает для нескольких предметов, но что если у меня есть список, скажем, 200 предметов?Кажется чрезмерным запускать запрос UPDATE 200 раз, чтобы переместить элемент 2 на первую позицию.

У кого-нибудь есть более эффективный способ сделать это?

Спасибо.

1 Ответ

1 голос
/ 18 января 2012

Если вы отслеживаете позиции каждого элемента, вам нужно только обновить позиции тех элементов, которые изменились.То есть, если вы переместите элемент № 19 в позицию 1, вы переместили элементы 1-18 вверх на позицию.вам не придется менять положение элементов 20-200.

Кроме того, если вы используете .NET / SQL Server 2008, вы можете использовать определяемый пользователем тип таблицы (UDTT) и передавать данныеТаблица в качестве одного из параметров вашей хранимой процедуры, которая содержит список всех элементов и их текущую позицию в списке, затем обновите набор данных, а не каждый элемент в отдельности.нет RBAR: -)

...