Таможенная нумерация страниц в датированных данных

Две альтернативы

1) Заказ исходного массива с sortInPlace

self.assignments.sortInPlace({ $0.order < $1.order })
self.printAssignments(assignments)

2) Использование альтернативного массива для хранения упорядоченного массива

var assignmentsO = [Assignment] ()
assignmentsO = self.assignments.sort({ $0.order < $1.order })
self.printAssignments(assignmentsO)
0
задан James Z 5 March 2019 в 17:41
поделиться

3 ответа

Я столкнулся с той же проблемой при работе с mongodb и angularjs. Я использовал пейджинг на стороне сервера. Поскольку у вас огромное количество записей, вы можете попробовать использовать тот же подход.

Предполагается, что вы отображаете 25 записей на одной странице.

Бэкэнд:

  1. Получить общее количество записей, используя запрос COUNT.
  2. выберите * из имени таблицы LIMIT 25 OFFSET $ {req.query.pageNumber * 25} для запроса ограниченных записей на основе номера страницы;

Внешний интерфейс:

  1. Вместо того, чтобы использовать datatable, отобразите данные в таблице HTML самостоятельно.
  2. Определите кнопки для следующей и предыдущей страниц.
  3. Определите глобальную переменную в файле controller / js для pageNumber. Увеличивайте номер страницы на 1 при нажатии кнопки следующей страницы и уменьшайте его на 1 при нажатии кнопки предыдущего.
  4. использовать результат из запроса COUNT, чтобы установить верхний предел для переменной pageNumber (при наличии 200 записей предел будет 200/25 = 8).

Так что, в основном, выбор * из table_name LIMIT 25 OFFSET $ {req.query.pageNumber * 25} ограничит количество записей 25. Когда req.query.pageNumber = 1, он сместит первые 25 записей и отправит следующие 25 записей. аналогично, если req.query.pageNumber = 2, он сместит первые 2 * 25 записей и отправит 51-75 записей.

0
ответ дан Surya Tangella 5 March 2019 в 17:41
поделиться

Вы можете использовать ограничения LIMIT и OFFSET для разбивки на страницы в MySQL. Я понимаю, что за один раз данные 2 lacs замедляют производительность. Но, как вы упоминаете, вы должны использовать JS для этого. Поэтому дайте понять, что если вы хотите js в качестве внешнего интерфейса, то это вам не поможет. Но, как вы упомянули, что у вас есть веб-приложение, если это приложение включено Node(as server), то я могу предложить вам путь, который может вам очень помочь.

используют 2 переменные, названные var_pageNo и var_limit. Теперь используйте запрос строки mysql как

select * form <tbl_name> LIMIT var_limit OFFSET (var_pageNo * var_limit);

Делайте код в соответствии с этим запросом. Замените переменную на ваши значения желаний. Это ускорит вашу производительность и получит данные в соответствии с указанным вами пределом.

Надеюсь, это будет полезно.

0
ответ дан Mayur 5 March 2019 в 17:41
поделиться

Есть два способа справиться.

  1. Первый способ - обработка подкачки на стороне клиента Получить все данные из базы данных и применить пользовательскую подкачку.
  2. Второй способ - обработка подкачки на стороне сервера Каждый раз, когда вы хотите позвонить в базу данных и получить записи в соответствии с размером страницы.
0
ответ дан Andry 5 March 2019 в 17:41
поделиться
Другие вопросы по тегам:

Похожие вопросы: