170 похожих чатов

Подскажите пожалуйста, как ускорить загрузку данных ? У меня

сервер формирует данные и считает их достаточно долго. 30 человек =5 секунд

27 ответов

8 просмотров

предельно общий вопрос, корректно ответить на который невозможно потому посоветую правильно расставить индексы в бд

Скорее всего ускорить формирование и расчёт данных на сервере ¯\_(ツ)_/¯ Тогда быстрее загрузятся.

Александр-Лактионов Автор вопроса

У меня есть одна большая коллекция, которая имеет такую структуру и я потом формирую правильный мне список в контроллере через Lodash. Подскажите советом пожалуйста )

Замерьте время этого куска, чтобы понять, какую часть времени тратится на работу с БД, а какую на преобразование данных. Если действительно он медленный, можно думать, как эту работу перенести на сторону БД, например, или как это написать оптимальнее.

кстати а если взять два варианта: 1) делаешь 1 запрос бд с джойном двух таблиц 2) делаешь 2 запроса к бд и джойнишь на стороне приложения что будет быстрее и почему? *не учитывая время на сеть, те отправку данных туда сюда* P.S. бд будет скорее конечно же, но почему

Александр-Лактионов Автор вопроса

То есть лучший вариант переписать ? А как нормальные сайты это реализовывают? Мб в Cache хранить ?

1. Во-первых, СУБД разработаны с расчётом на быстрое выполнение таких операций. Особенно, когда они выполняются часто. Во-вторых, ты ручным джоином блокируешь основной поток приложения в асинхронном приложении

Да можно в воркере, конечно, чтобы не блокировать основной поток. Вопрос — зачем...

Индексы

индексы, кэш как минимум. Вообще оперции джойна на сервере имеют смысл только в таких языках как Си, Rust, Golang, C++, Haskell. И то только по причине хорошего умения в асинхрон + многопоток и дикую скорость самих приложений. Но, обычно и там не страдают джойном таблиц на сервере.

Да всё равно даже sqlite будет быстрее, на Rust ещё писать надо уметь чтоб получилось быстро

Александр-Лактионов Автор вопроса

Монгу лучше не использовать для хранения больших данных? (У меня не большие данные)

sqlite не будет точно, но тут нужно понимать что выигрыш от такого джоина минимальный, а гемороя очень много. На больших объемах начнется просадка, да и все функции и примочки писать руками такое себе.

Изначально монга наоборот себя представляла как бд для больших данных

монга как раз и предназначена для работы, с охрененно большими данными, а не для того что бы на ней пилить блоги =)

Александр-Лактионов Автор вопроса

У меня таких будет 100 пользователей, сейчас 35 и уже 5 секунд загрузка

Исходя из имеющихся данных - просто кривой код и не настроенная монга.

а постгрес для маленьких данных?

Александр-Лактионов Автор вопроса

А чем лодеш мой кривой ?

Александр-Лактионов Автор вопроса

Как можно монгу настроить на оптимизацию ?

индексы

Я про то, что по фотографии сложно помочь человеку

Монгу вообще выкинуть и забыть)

В гугле правда забанили?

Именно

Они не поймут) Это слишком сложно для фанатиков

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

Обсуждают сегодня

читать файл максимально быстро? странный вопрос))
zamtmn
53
тоесть, указав return eax, сгенерируется никому ненужная инструкция mov eax,eax ?
Aiwan \ (•◡•) / _bot
24
я имею в виду официально интегрированный в телегу? в том плане что не сливает переписку с пользователем?
Andrey
9
Кто-нибудь решал проблему с автоматическим скроллингом к выбранной ячейке в TDBGrid в Lazarus? Проблема в том, что есть допустим 3 столбца, третий столбец виден наполовину, вк...
Дмитрий Логинов
1
А чего сейчас в моде вместо Error для эксепшенов? А то я тут внезапно узрел что он не рекомендуется :) У Try::Tiny какой-то совершенно ужасный синтаксис если надо конкретные э...
Denis F
19
Приветствуем всех! Устали без проектов? Если вы программист и хотите получать стабильные заказы, компания Elif предлагает вам недельный курс по поиску проектов и их ведению. ...
Elif
1
а зачем этот вопрос для удаления из чата?
Mёdkinson Medvezhkin
63
Чорт! Чорт! Чорт! Стала ставить через GetIt (написано же, что ручками не рекомендуется) Сломалось на дублировании моей TSkLabel. Чтож мне ее по всем проектам переименовывать в...
Катерина Свиридова
7
Привет. Сразу скажу, что на C/C++/Rust я не пишу, но тем не менее возникла потребность дебага C/C++/Rust кода. Суть: есть серверное приложение, которое периодически ведёт себ...
ninekeem 🐳
4
всем привет! углубившись в плюсы и начав изучать реверсинг понял, что без асм'а никуда со своими высокоабстрактными представлениями начал изучать механизмы асма, и не совсем п...
9
Карта сайта