Я искал пагинацию (разбивку по временным меткам) с помощью PSQL dbms. В настоящее время мой подход заключается в создании индекса b +, чтобы значительно сократить затраты на поиск начала следующего фрагмента. Но везде я смотрю учебные пособия и модули NPM, такие как express-paginate (https://www.npmjs.com/package/express-paginate), люди, кажется, получают куски, используя смещение тем или иным способом или выбирая все данные в любом случае, но просто отправляя их кусками, что мне не нужноПохоже, это полная оптимизация, для которой предназначена нумерация страниц.
Я вижу, что они все еще проводят оптимизацию путем ленивой загрузки и потоковой передачи фрагментов (таким образом, сохраняя пропускную способность и любое время загрузки / обработки на клиенте. сторона), но так как смещение на psql все еще требует сканирования предыдущих строк. В худшем случае, когда пользователь хочет просмотреть все данные, разве этот подход не требует очень высоких затрат на сервер, поскольку, если у вас, скажем, n блоков, вы 'повторный доступ к первому чанку n раз, второй чек n-1 раз, третий чанк n-2 раза и т. д. Я понимаю, что это действительно с точки зрения операций ввода-вывода, так что это не так дорого, но все равно беспокоит меня?
Я что-то упускаю здесь очень очевидно? Я чувствую, что я есть, потому что, кажется, намного большепризнанные и опытные инженеры, которые, кажется, используют этот подход. Я предполагаю, что есть некоторая часть уравнения или механизма, которую я просто упускаю из своего понимания.