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