мне нужно периодически делать выборку с большим количеством фильтров. На сколько более тяжёлая задача для системы сделать выборку из скажем 50 записей 1 раз, что б их закешировать прозапас по сравнению с любой первой записью подходящей под запрос запрашиваемой каждый раз?
Это дурацкий вопрос, потому что на него нет ответа
почему на него нет ответа
Потому что слишком абстрактный.
Что-то не уверен что слишком. Вот у тебя есть 5 таблиц, у каждой 3 поля, по которым нужно фильтр сделать. Моя задача в идеале должна выбирать 1 запись каждый раз. Но я могу выбрать 50 условно про запас, если на это слишком много ресурсов нужно.
Задавай более конкретные вопросы. Типа: "вот у меня такая таблица, (таблицы), вот в них столько то данных, вот такой запрос, вот другой запрос, и далее мой вопрос" Тогда ещё может быть (может быть!) можно будет что-то в ответ сказать. Кроме того, обсуждать выборку из таблицы с 50 записями вообще бессмысленно, там всё будет очень быстро.
И это даже всё равно мало конкретно. Без деталей обсуждать это бессмысленно
Детали это - конкретная структура таблиц, конкретные данные, конкретные запросы
Это потому, что ты неопытный DB-разработчик. А мы -- опытные, мы уверены.
поиск в принципе не кэшируют. попробуй посчитать hit/miss ratio.
чисто для понимания, от какого количества пользователей стоит заботится о скорости выполнения запросов? или даже вернее от какого количества запросов в минуту?
Это надо заботится от объёма данных, а не от количества пользователей, прежде всего. Кол-во пользователей конечно тоже влияет, но наверное в меньшей степени.
ну это и подрузомевалось( я не верно сформулировал, извиняюсь - так чтобы знать, с какого момента и в каком случае надо будет об этом думать
От одной десятитысячной.
Ну если ты думаешь одно, а спрашиваешь другое — тут я лично бессилен
еще раз извиняюсь.
От объёма данных это, кстати, независит никак. А зависит -- от соотношэния бизнес-требований к скорости и их выполнения пока не побеспокоился о скорости. Данных там можэт быть 200 килобайт, и поток какой-нибудь копеечный в два rps -- и всё будет икать, лагать и падать потому, что каждый запрос два три раза сканирует данные, в таблицэ 95% блота, а бизнесу нужэн хард-риалтайм с временем реакцыи миллисекунды. А можэт быть пара петабайт данных и поток в десятки тысяч rps -- но хотсет влезает в память мобилы, к шпиндельным дискам обращается только каждый тысячный запрос (притом дефолтный RAID10 рулит), к тому жэ если кто запрашывает не из хотсета -- то он и минуту подождёт, не переломится. Вот и выходит, что данных большэ на 10 порядков, запросов -- на 4 порядка, а беспокоиться надо за первый раз.
Ну ты уж совсем по сложному пути пошёл...
Базовый инжэнерный навык: проблемы надо соотносить с потребностями.
Обсуждают сегодня