Django, MSSQL server query and pagination
Вот пример моей таблицы на сервере MSSQL
Employeetable
emp_id name status
EMP001 A STATUS-A
EMP001 A STATUS-B
EMP002 B STATUS-C
EMP001 A STATUS-D
EMP002 B STATUS-D
EMP003 C STATUS-C
Сейчас на лицевой странице моего приложения есть таблица, в которой каждый сотрудник перечислен один раз в таблице, и при раскрытии каждого сотрудника отображается каждый доступный статус. Я пытался получить данные с помощью pyodbc
Например:
EMPID NAME
EMP001 A
---STATUS-A #After expanding the EMP001 row it shows all the status of EMP001
---STATUS-B
---STATUS-D
EMP002 B
EMP003 C
Итак, как мы можем использовать пагинацию в данном случае, если имеется около 200K записей и около 100K различных сотрудников
Есть два подхода к этому:
1.ленивая загрузка
- Используйте параметр arraysize в курсоре, что означает, что вы не будете получать все данные из базы данных, а будете выполнять пакетный вызов, это займет меньше памяти, но больше чтения из БД, что может сделать работу вашего приложения медленнее, с другой стороны, если больше пользователей используют только первую или вторую страницу, это будет более эффективно .