«Если рабочий хочет хорошо выполнять свою работу, он должен сначала заточить свои инструменты» — Конфуций, «Аналитики Конфуция. Лу Лингун»
титульная страница > программирование > От разработчика к рецензенту: контрольный список для младшего разработчика по проверке запросов к базе данных

От разработчика к рецензенту: контрольный список для младшего разработчика по проверке запросов к базе данных

Опубликовано 8 ноября 2024 г.
Просматривать:648

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

Зачем фокусироваться на запросах к базе данных?
Запросы к базе данных могут существенно повлиять на производительность приложения. Хорошо написанный запрос может эффективно извлекать данные, тогда как плохо написанный может привести к чрезмерному обращению к базе данных, замедляя работу всей системы. Будучи младшим разработчиком, вы можете задаться вопросом, как оценить производительность этих запросов во время проверки кода. Вот мой контрольный список.

Контрольный список для проверки запросов к базе данных

  1. Количество обращений к базе данных:

    • Первый шаг — определить, сколько обращений к базе данных происходит с помощью фрагмента кода. Каждое обращение к базе данных может увеличивать задержку, поэтому меньшее количество обращений обычно означает более высокую производительность.
    • Совет для профессионалов: используйте Connection.queries и reset_queries Django, чтобы отслеживать количество выполненных запросов и время, затраченное на каждый из них. Например: From Developer to Reviewer: A Junior Developer
  2. Уменьшение количества обращений:

    • Как только вы узнаете количество обращений, следующим шагом будет посмотреть, сможете ли вы их уменьшить. Уменьшения количества обращений к базе данных часто можно достичь за счет оптимизации запросов или объединения нескольких запросов в один.
    • Ключевые техники:
      • Отложенная загрузка или нетерпеливая загрузка: понимание того, когда запрос оценивается. Отложенная загрузка задерживает запрос до тех пор, пока данные действительно не потребуются, но это может привести к проблеме запроса N 1. Оперативная загрузка с использованием select_related или prefetch_related извлекает связанные объекты в одном запросе, уменьшая общее количество обращений.
      • Объединения: если вам нужны данные из связанных таблиц, рассмотрите возможность использования запросов соединения. В этом случае вам помогут методы select_related (для отношений по внешнему ключу) и prefetch_related (для отношений «многие ко многим» или обратные внешние ключи).
  3. Как избежать повторных запросов:

    • Проверьте наличие повторяющихся запросов, когда один и тот же запрос выполняется несколько раз. Часто этого можно избежать, кэшируя результат или реструктурируя код.
    • Пример: вместо запроса связанного объекта внутри цикла извлеките все связанные объекты один раз перед циклом.
  4. Аспекты памяти:

    • Хотя сокращение обращений к базе данных важно, также учитывайте использование памяти. Загрузка огромного набора данных в память может привести к замедлению работы вашего приложения или сбою. Старайтесь получать только те записи/данные, которые вам нужны.

Заключение
Анализ запросов к базе данных на предмет производительности — это навык, который развивается со временем и опытом. Будучи младшим разработчиком, начните с основ — подсчета обращений к базе данных и поиска способов их уменьшения. Такие инструменты, как Connection.queries, reset_queries и функции ORM Django, неоценимы в этом процессе. Со временем у вас разовьется интуиция, позволяющая выявлять проблемы с производительностью, просто взглянув на код. А до тех пор полагайтесь на обсуждаемые здесь инструменты и методы.

Дополнительные советы:

  1. Понимание плана выполнения: Погрузитесь глубже, поняв план выполнения SQL, созданный вашими запросами ORM. Такие инструменты, как EXPLAIN в SQL, могут помочь вам понять, как ядро ​​вашей базы данных выполняет запросы, что может дать представление о потенциальной оптимизации.

Совет для начинающих разработчиков:
Чтобы начать просматривать чужой код, вам не обязательно знать каждый поток работы системы. Начните с рассмотрения таких мелочей, как качество кода и оптимизация. Начните с первого этапа, сосредоточившись на основах, и со временем вы станете отличным рецензентом.
Кроме того, при просмотре постарайтесь быть вежливыми и полезными в своих комментариях, а не высокомерными. Помните, цель — улучшить код и помочь вашей команде, а не просто указать на ошибки.

Заявление о выпуске Эта статья воспроизведена по адресу: https://dev.to/aman-giri/from-developer-to-reviewer-a-junior-developers-checklist-for-reviewing-database-queries-4kdm?1 Если есть какие-либо нарушения , пожалуйста, свяжитесь с Study_golang @163.comdelete
Последний учебник Более>

Изучайте китайский

Отказ от ответственности: Все предоставленные ресурсы частично взяты из Интернета. В случае нарушения ваших авторских прав или других прав и интересов, пожалуйста, объясните подробные причины и предоставьте доказательства авторских прав или прав и интересов, а затем отправьте их по электронной почте: [email protected]. Мы сделаем это за вас как можно скорее.

Copyright© 2022 湘ICP备2022001581号-3