powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / вернуть много и сразу
9 сообщений из 9, страница 1 из 1
вернуть много и сразу
    #39321239
gri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Коллеги, такой вопрос.
Заведую тут небольшим API. API предоставляет доступ к папкам и файлам. Точно так как в файловой системе.
В данный момент API возвращает список файлов для конкретний папки с пейджингом. Для хождения по папкам этого достаточно.
Клиенты захотели новый метод на API который вернет все файлы пользователя. Метод будет использоваться для поиска на клиенте (клиент закачает это один раз и будет обновлять по событиям).
Технически это не сложно, запрос к базе, join 3-х табилиц. Но чета меня это напрягает.
Количество файлов и папок может быть любым, к примеру пару сотен тысяч. Соответственно время выполнения запроса непредсказуемо. Размер пересылаемых данных тоже.

Допустимо такое? Какие еще косяки могут вылезти?
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321259
monstrU
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gri4,

лучше рассчитывать, что если не запрещено, то может случиться.
выгружать на клиента весьма здоровые данные нужно порциями - поискать примеры download big files - использовать упрощенно Response.Write и Response.Flush - сбросить на клиента.
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321282
Фотография ЕвгенийВ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gri4,
Все украдено до нас!
Используй WebDav!
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321324
gri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
monstrU,
Плохо написал. Речь идет не о выгрузки контента файлов а о списке файлов.
С выгрузкой на клиента понятно. Я хочу понять в целом, насколько тяжелые с точки зрения производительности запросы допустимы. Много маленьких против одного большого.
Я могу ограничить выборку к примеру 500-ами записями и пусть клиент дергает API последовательно 100500 раз. Но это
вроде как не еффективно. Можно наверное подогонать время исполнения запроса для максимального количества возвращаемых записей под какой-то SLA.
Если нужно больше - следущий запрос.


ЕвгенийВ,

файлы с фолдерами тут для примера. Могут быть любые записи.
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321330
ТиФорс
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gri4,

папку проиндексируй. windows index service.
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321413
Фотография skyANA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ЕвгенийВgri4,
Все украдено до нас!
Используй WebDav!
+1
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321623
gri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Черт, криво написал изначально. Забудьте про файлы.

Есть база в ней 3 таблицы. Нужно выбрать записи из этих 3-х таблиц по ключу в одной из таблиц.
Всего записей в таблицах может быть десятки миллионов. Записей для одно ключа - пару сотен тысяч. Это текущее состояние.
Оба числа могут быть и больше, пока трудно предсказать.
В данный момент есть метод который возвращает постранично записи по ключу. 500 за раз.
Хотят все записи сразу.

Вот и вопрос - допустимо ли такое.
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321627
handmadeFromRu
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
gri4,

а чего не допустимо то если у тебя памяти хватить на серваке. мож сделать эт через вызов твоей текущей функции сколько то раз и складирование в память, а можешь сразу материлизовать. а можешь переделать на то чтоб держало соединение до бд и считывало по 1 запись, манипуляции и куда надо тебе прокидывание и так дальше. минус что соединение держится, зато память не так жрется.
...
Рейтинг: 0 / 0
вернуть много и сразу
    #39321647
gri4
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ну напрягает то что я не знаю сколько будет выполняться вызов метода. Непредсказуемость..

Спасибо за идею с промежуточным кешированием. База узкое место, апп серверов можно много поднять.
Если большой запрос будет тормозить/мешать другим, буду разбивать.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / ASP.NET [игнор отключен] [закрыт для гостей] / вернуть много и сразу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]