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

Добрый день, как бы вы ответили на эти 2 вопроса? Спасибо) Таблица содержит

миллион записей, план запроса показывает seqscan по всей таблице, это хорошо?
План запросов выглядит хорошо, но при нагрузке запросы начинают медленно выполняться, куда смотреть, чтобы найти возможную причину?

6 ответов

22 просмотра

1) смотря какой запрос. 2) выглядит хорошо, или хороший? Критерии выглядения хорошо какие? Смотреть надо в разные места. Сразу не скажешь.

> план запроса показывает seqscan по всей таблице, это хорошо? Может, очень хорошо, а может — очень плохо (зависит от запроса и данных). > куда смотреть, чтобы найти возможную причину? Зависит от СУБД. О какой речь?

Alexander-E Автор вопроса
Ilya Zviagin
1) смотря какой запрос. 2) выглядит хорошо, или хо...

Это вопросы из тестового задания) Сам не смог нормально ответить на первый вопрос Вот так ответил на второй, тоже сплошная вода получилась, вопрос же был про explain и seqscan :(

Alexander-E Автор вопроса
Yaroslav Schekin
> план запроса показывает seqscan по всей таблице,...

Тестовое задание на которое очень хочется ответить хорошо) Хотя задание действительно странное Не сказано про СУБД ни слова

Alexander E
Тестовое задание на которое очень хочется ответить...

Так в том-то и дело, что ответ на первый вопрос правильный (и примеров можно много привести). Т.е. любопытно, зачем вообще этот вопрос был задан. > Не сказано про СУБД ни слова Какая-то из SQL RDBMS, очевидно. ;) Но если без учёта СУБД: > если на запись запросы лагают - смотрел бы индексы Почти во всех популярных при записи используются блокировки — нередко стоит посмотреть и на них (т.к. есть разнообразные способы их уменьшить, от добавления путей доступа (индексов) до изменения запросов, соотв. настроек, а то и схемы базы). Затем, возможно, всё упирается в диски, и это тоже можно решить. И т.д. и т.п. > может быть создать еще 1 машину slave для аналитики, чтения + микросервис Меня бы на месте проверяющих насторожили подобные предложения, особенно сходу (Вы об ACID подумали перед тем, как бежать на distributed database?). ;) > в целом, не парился бы, добавил бы железа, slave-ов, шардировал и забил. И, если это что-то с важными данными, оно начало бы выдавать "фарш" вместо результатов (а то и устраивать его в данных), на основании которого кто-то начал бы принимать неверные решения, а организация — терять N$ / sec. Прекрасная картина. ;) Т.е. Вы бы поосторожнее с этим...

Alexander-E Автор вопроса
Yaroslav Schekin
Так в том-то и дело, что ответ на первый вопрос пр...

Премного благодарен за такой классный ответ) А я думал что это получается product driven подход, и это круто)

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

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

Ребята, всем привет. Подскажите, пожалуйста, можно ли как-то через бота понять, что этого бота добавили в группу\канал и выдали ему права администратора?
Artem Stormageddon
9
Привет, такой вопросик появился кажется ли вам что Rust слишком сложный/строгий для высокоуровневого программирования и слишком "безопасный"/строгий для низкоуровневого?
Крокант
10
Это переведённый текст с английского. Я не говорю на русском, но могу использовать переводчик Телеграм. Приветствую! Я начинающий веб-разработчик и все еще учусь. В настояще...
𐩱𐩪𐩣𐩱𐩲𐩺𐩡
2
А какие существуют способы обработки ошибок выделения памяти в ядре? Т.е., допустим, есть функция, которая возвращает адрес свободной страницы в физической памяти и диапазон в...
disba1ancer
51
Всем привет. Хотел бы написать для себя свою ос. Причины: 1) нужен опыт в чем-то 2) будет меньше весить 3) свое, но там будут свои задумки Я понимаю что нужно писать для всег...
Shadow Akira
18
А не хотим ли мы развлечься? 😉 Но так чтобы с пользой для наших профессиональных навыков?? 👨‍🎓👩‍🎓 Предлагаю на октябрь запланировать тестовый запуск новой командной игры "Игр...
Andrii Kurdiumov
2
Всем привет! Скажите, никто не пытался уменьшить размер процесса ssl, которые ассоциируется с открытым соединением (не помню точное название этого процесса, но там была какая-...
Алексей
20
5? да там все 10
Boris Vinogradov
12
Привет всем! Почему этот код не срабатывает при добавлении или удалении пользователя из чата? bot.on('chat_member', async (ctx) => { console.log(ctx); }) bot.launch({allo...
Alexander
5
у кого сколько оперативы на базе данных ?
АДИЛЬБЕК
4
Карта сайта