200 инженеров в Варшаве обсуждают дыры в пайплайнах. Без вас?
Support us

Чеклист для оценки работы с СУБД

14 комментариев
Чеклист для оценки работы с СУБД
Оговорюсь сразу, что я не DBA. И я даже не напишу триггер без мануала. Однако мне посчастливилось приобрести неплохой опыт в разработке и оптимизации баз данных. Этим опытом я и хочу поделиться. Я хочу привести простой список, который, я надеюсь, поможет вам выявить узкие места в работе с СУБД на ваших проектах. Все это мои личные наработки, поэтому на какую либо полноту, упорядоченность, уникальность и безоговорочность они претендовать не могут. Итак, начнем. Структура БД - Созданы ли домены для всех необходимых столбцов? - Созданы ли все необходимые fk(foreign key)? - Созданы ли индексы для fk указывающие на таблицы с большим объемом данных(в некоторых СУБД индексы создаются вместе с fk)? - Правильный ли порядок полей в составных индексах? - Есть ли таблицы где размер id(pk) поля(домена) занимает более 30% от объема строки(кортежа) и есть вторичный pk(primary key)? - Можно ли заменить триггеры на fk? Работа с СУБД - Используете ли вы Connection pool? - Используете ли вы серверные курсоры? - Используете ли вы read-only транзакции и курсоры где возможно? Однонаправленные курсоры? - Используете ли вы параметризированные и подготовленные запросы (особенно при многократной вставке информации)? - Используете ли вы явное управление транзакциями? - Минимизирована ли длина транзакции? - Есть ли очень длинные или объемные транзакции, которые можно разбить на несколько? - Есть ли у вас после IUD запросов select в той же транзакции? - Выставлен ли таймаут для запроса? - выставлен ли минимально возможный Isolation Level? Меняете ли вы его в зависимости от нужд транзакции? - Знаете ли вы что, когда и на сколько блокируется на запись? А на чтение? - Блокируются ли любая ваша таблица более чем на секунду? - Знаете ли вы TOP 5 запросов в вашей системе по кол-ву вызовов? А по времени выполнения? - Можно ли часть часто используемой информации закэшировать? - Есть ли у вас выборки, которые по условию возвращают более 30% данных из таблицы? - Есть ли у вас выборки, которые возвращают информации в 2 раза больше чем необходимо? - Есть ли запросы, которые сканируют всю таблицу не по ключу(natural scan)? Вот вкратце и все что вспомнилось. Почти обо все вопросы я в свое время спотыкался. Практически каждый может выиграть вам кучу времени у сервера без всяких хитрых махинаций и подстроек СУБД и БД в частности. Не обвиняйте во всех проблемах других – попробуйте сначала найти их в себе. P.S. Если причина упоминания какого-либо пункта не ясна - спрашивайте.
Читайте также
Сбербанк массово сокращает айтишников и заменяет на ИИ
Сбербанк массово сокращает айтишников и заменяет на ИИ
Сбербанк массово сокращает айтишников и заменяет на ИИ
2 комментария
«Новые реалии с AI». В Vizor Games сокращения
«Новые реалии с AI». В Vizor Games сокращения
«Новые реалии с AI». В Vizor Games сокращения
Бывшие сотрудники минского офиса Vizor Games, который с апреля 2024 года работает под названием «ГеймТек», рассказали о волне сокращений 2D- и 3D-художников. По их словам, уволили от 15-20+ человек, руководство объясняет увольнения влиянием ИИ.  В компании нам ответили, что уволили «несколько художников».
11 комментариев
«Крупнейшая утечка в истории» оказалась сбором старых слитых баз
«Крупнейшая утечка в истории» оказалась сбором старых слитых баз
«Крупнейшая утечка в истории» оказалась сбором старых слитых баз
1 комментарий
«Я не умею работать с базами данных». Разбираемся, как и где можно быстро освоить БД
«Я не умею работать с базами данных». Разбираемся, как и где можно быстро освоить БД
«Я не умею работать с базами данных». Разбираемся, как и где можно быстро освоить БД
Работу с базами данных может освоить каждый. Главное, начать с основ и постепенно двигаться вперёд. В статье мы покажем, что работа с базами данных — это не так уж и страшно, а также предложим несколько курсов, которые помогут вам освоить SQL, NoSQL и оптимизацию запросов.
3 комментария

Хотите сообщить важную новость? Пишите в Telegram-бот

Главные события и полезные ссылки в нашем Telegram-канале

Обсуждение
Комментируйте без ограничений

Релоцировались? Теперь вы можете комментировать без верификации аккаунта.

Комментариев пока нет.