Заметки разработчика
462 subscribers
737 photos
4 videos
1.22K links
Заметки о Frontend, Backend и немного DevOps. В основном о #PHP, #Laravel, #JavaScript, #HTML, #CSS, тестировании и настройке серверов.

https://www.dev-notes.ru

@snakenf
Download Telegram
🔄 Порядок выполнения SQL-запросов: практическое руководство по оптимизации

Понимание порядка выполнения SQL-запросов необходимо для оптимизации работы с базами данных. От корректности построения запросов зависит скорость обработки информации и эффективность использования ресурсов. Знание последовательности операций помогает создавать производительные решения при работе с данными и существенно улучшать работу базы.

💡 Узнайте:

✔️ Почему СУБД выполняет запросы НЕ в том порядке, в котором вы их пишете
✔️ Как писать SARGABLE-запросы, которые используют индексы
✔️ 8 конкретных методов оптимизации производительности БД

🖥 Читать статью

📱 @dev_notes_ru

#SQL #БазыДанных #Оптимизация
Please open Telegram to view this post
VIEW IN TELEGRAM
👩‍💻 Отладка SQL запросов в Laravel

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

🖥 Читать статью

📱 @dev_notes_ru

#laravel #sql
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥1
💡Совет по Laravel: Метод `ddRawSql`

При отладке запросов часто используют dd или toSql, но вы знали, что можно использовать ddRawSql, позволяющий получить необработанный SQL со всеми подставленными биндингами?🚀

📱 @dev_notes_ru

#Laravel #SQL #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
💡 Совет по Laravel: Метод `insertGetId`

Вы когда-нибудь сталкивались с необходимостью узнать ID только что вставленной строки? Laravel поставляется с методом insertGetId, позволяющим сделать именно это🚀

📱 @dev_notes_ru

#Laravel #SQL #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
🚀 Оптимизация SQL запросов

В SQL-запросе операторы выполняются в следующем порядке:

1. FROM / JOIN
2. WHERE
3. GROUP BY
4. HAVING
5. SELECT
6. DISTINCT
7. ORDER BY
8. LIMIT / OFFET

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

С учётом этого рассмотрим некоторые советы по оптимизации:

Максимизируйте выражение `WHERE`.

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

Фильтруйте строки перед `JOIN`

Хотя запрос FROM/JOIN выполняется первым, всё равно можно ограничить количество строк. Чтобы ограничить количество присоединяемых строк, используйте подзапрос в операторе FROM вместо таблицы.

Используйте `WHERE` вместо `HAVING`

Выражение HAVING выполняется после WHERE и GROUP BY. Это означает, что при возможности стоит перенести все необходимые условия в выражение WHERE.

Не путайте `LIMIT`, `OFFSET` и `DISTINCT` с методами оптимизации

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

🖥 Порядок выполнения CQL запроса

📱 @dev_notes_ru

#SQL #DataBase #tips
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3🔥1
Агрегатные функции SQL

В статье мы рассмотрим наиболее часто используемые агрегатные функции SQL, их синтаксис, практические примеры и способы оптимального использования в запросах.

🖥 Читать статью

📱 @dev_notes_ru

#DataBase #SQL
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥1
🔄 Обновлена статья по работе с NULL в SQL!

Актуализирован материал, посвящённый работе с NULL в SQL — от основ до продвинутых функций и лучших практик.

Что нового:

Подробнее про COALESCE, IFNULL и NULLIF с примерами
Особенности NULL в JOIN и агрегирующих функциях
Рекомендации по проектированию и оптимизации запросов

🖥 Читать статью

📱 @dev_notes_ru

#SQL #NULL #COALESCE
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Приёмы работы с PostgreSQL, меняющие архитектуру решений

Когда речь заходит о проверке целостности данных, например, запрете пересекающихся интервалов бронирования, возникает вопрос: где разместить эту логику? В коде приложения или на стороне базы данных? PostgreSQL предоставляет инструменты, которые позволяют делегировать такие проверки уровню СУБД, снижая нагрузку на прикладной код и минимизируя риски состояний гонки.

В статье рассматриваются:

Ограничение EXCLUDE — декларативный способ запретить пересечение интервалов без дополнительных проверок в коде.
Генерируемые колонки (GENERATED) — вычисление производных значений непосредственно в базе.
Рекурсивные CTE — обход иерархий и графов в несколько строк вместо императивных конструкций.
JSONB и композитные типы — сравнение подходов к моделированию гибких структур данных.

Материал будет полезен разработчикам, которые стремятся писать более лаконичный и надёжный код, опираясь на возможности реляционной модели.

🖥 Читать статью

📱 @dev_notes_ru

#PostgreSQL #SQL #Database
Please open Telegram to view this post
VIEW IN TELEGRAM