Почему лучше использовать COUNT(1) вместо COUNT(*) в SQL?
При работе с большими таблицами в SQL важно учитывать производительность запросов.
❌ COUNT(*) – в чем подвох?
Оператор COUNT(*) учитывает все столбцы таблицы, проверяя каждую строку. Хотя он возвращает правильное количество записей, обработка может занимать больше ресурсов, особенно в огромных таблицах.
☑ COUNT(1) – оптимизированный вариант
COUNT(1) использует только первый столбец и не анализирует все остальные, что снижает нагрузку на базу данных. Это может ускорить выполнение запроса.
👉 @SQLPortal
При работе с большими таблицами в SQL важно учитывать производительность запросов.
Оператор COUNT(*) учитывает все столбцы таблицы, проверяя каждую строку. Хотя он возвращает правильное количество записей, обработка может занимать больше ресурсов, особенно в огромных таблицах.
COUNT(1) использует только первый столбец и не анализирует все остальные, что снижает нагрузку на базу данных. Это может ускорить выполнение запроса.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍23🤔5
Media is too big
VIEW IN TELEGRAM
Практика по SQL: объединение таблицы с самой собой (SELF JOIN)
0:00 Условия задачи
2:35 Создание таблицы для экспериментов в PostgreSQL
3:33 Объединение таблицы с самой собой (SELF JOIN)
6:27 Условие фильтрации
7:17 Проверка решения
8:31 Итоги
📹 Cмотреть: тык
👉 @SQLPortal | #видео
0:00 Условия задачи
2:35 Создание таблицы для экспериментов в PostgreSQL
3:33 Объединение таблицы с самой собой (SELF JOIN)
6:27 Условие фильтрации
7:17 Проверка решения
8:31 Итоги
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
SQL-Translator – визуализируй SQL-запросы мгновенно!
Устал разбираться в сложных SQL-запросах? SQL-Translator преобразует их в наглядные схемы, помогая быстро понять структуру данных
🟡 Парсит SQL-запросы и визуализирует их
🟡 Поддерживает PostgreSQL, MySQL, SQLite и другие БД
🟡 Работает прямо в браузере – ничего устанавливать не нужно!
Попробуй сам: здесь
👉 @SQLPortal
Устал разбираться в сложных SQL-запросах? SQL-Translator преобразует их в наглядные схемы, помогая быстро понять структуру данных
Попробуй сам: здесь
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🌭3🔥2
Миграция базы данных происходит, когда вы вносите изменения в базу данных.
Это может быть изменение схемы таблицы, обновление данных в записи и так далее.
В этом уроке Доминик научит вас работать с миграциями MongoDB с помощью ts-migrate-mongoose.
⏩ Ссылка: клик
👉 @SQLPortal | #статья
Это может быть изменение схемы таблицы, обновление данных в записи и так далее.
В этом уроке Доминик научит вас работать с миграциями MongoDB с помощью ts-migrate-mongoose.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3❤2🔥1
Полезная фишка в SQL: COALESCE() — замена NULL значений на дефолтное значение.
Часто в базах данных встречаются поля с пустыми значениями (NULL). Но как их обрабатывать?🤔
Тут на помощь приходит функция
👉 @SQLPortal
Часто в базах данных встречаются поля с пустыми значениями (NULL). Но как их обрабатывать?
Тут на помощь приходит функция
COALESCE(), которая возвращает первый ненулевой аргумент из списка. Это суперудобно для замены NULL на что-то полезное!Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥3🌚2
Media is too big
VIEW IN TELEGRAM
Основы работы в PL/SQL Developer
В этом видеоуроке автор подробно разбирает основы работы в удобной, функциональной и быстрой визуальной среде разработки PL/SQL Developer, а также ее основные преимущества и недостатки.
📹 Cмотреть: тык
👉 @SQLPortal | #видео
В этом видеоуроке автор подробно разбирает основы работы в удобной, функциональной и быстрой визуальной среде разработки PL/SQL Developer, а также ее основные преимущества и недостатки.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3🌚1
Media is too big
VIEW IN TELEGRAM
IT Hero — это твой лучший друг для подготовки к техническим собесам
Тут не просто теоретические вопросы, а реальные задачи на кодинг, алгоритмы, базы данных, сети, безопасность и многое другое.
Раньше приходилось штудировать кучу ресурсов, а теперь всё в одном месте: заходишь, выбираешь тему, решаешь задачи, подтягиваешь слабые места и становишься жестким технарём.👍
⏩ Попробуй сам: здесь
👉 @SQLPortal
Тут не просто теоретические вопросы, а реальные задачи на кодинг, алгоритмы, базы данных, сети, безопасность и многое другое.
Раньше приходилось штудировать кучу ресурсов, а теперь всё в одном месте: заходишь, выбираешь тему, решаешь задачи, подтягиваешь слабые места и становишься жестким технарём.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5👀4🔥3
SQL Фишка: Генерируемые столбцы
Хватит вручную пересчитывать данные! SQL умеет хранить вычисляемые значения автоматически.
❌ Как делать НЕ НАДО:
Вы храните в таблице orders сумму заказа и обновляете её вручную? Это потенциальный источник багов!
Можно забыть обновить поле → данные сломаются.
☑ Как делать ПРАВИЛЬНО:
Используем генерируемый столбец:
Теперь total всегда автоматически содержит правильное значение.
👉 @SQLPortal
Хватит вручную пересчитывать данные! SQL умеет хранить вычисляемые значения автоматически.
Вы храните в таблице orders сумму заказа и обновляете её вручную? Это потенциальный источник багов!
UPDATE orders SET total = price * quantity WHERE id = 1;
Можно забыть обновить поле → данные сломаются.
Используем генерируемый столбец:
CREATE TABLE orders (
id INT PRIMARY KEY,
price DECIMAL(10,2),
quantity INT,
total DECIMAL(10,2) GENERATED ALWAYS AS (price * quantity) STORED
);
Теперь total всегда автоматически содержит правильное значение.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥14👍8
Media is too big
VIEW IN TELEGRAM
Проектирование баз данных
В этом видеоуроке автор подробно и наглядно разбирает процесс проектирования рассылочного сервиса со списками получателей, сегментами и отчетами, используя связи 1-ко-многим и многие-ко-многим. Вы научитесь использовать полиморфные связи и создавать json-поля.
📹 Cмотреть курс: тык
👉 @SQLPortal | #курсы
В этом видеоуроке автор подробно и наглядно разбирает процесс проектирования рассылочного сервиса со списками получателей, сегментами и отчетами, используя связи 1-ко-многим и многие-ко-многим. Вы научитесь использовать полиморфные связи и создавать json-поля.
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥1
В SQL можно писать циклы без циклов!
Ты знал, что SQL умеет рекурсивно создавать данные без таблиц?
Вот, например, как сделать последовательность чисел от
⏩
⏩ Начинаем с 1.
⏩ В
⏩ Останавливаемся на 100.
Если было полезно — жду твоего🔥
👉 @SQLPortal
Ты знал, что SQL умеет рекурсивно создавать данные без таблиц?
Вот, например, как сделать последовательность чисел от
1 до 100 без LOOP, WHILE и даже без исходной таблицы:WITH RECURSIVE numbers AS (
SELECT 1 AS n
UNION ALL
SELECT n + 1 FROM numbers WHERE n < 100
)
SELECT * FROM numbers;
WITH RECURSIVE создает временную таблицу.UNION ALL прибавляем 1 на каждой итерации.Если было полезно — жду твоего
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥46❤7👍7
Оператор
Оператор
👉 @SQLPortal
INSERT INTO SELECT в SQLОператор
INSERT INTO SELECT используется для копирования данных из одной таблицы в другую. Это удобно, когда нужно перенести данные или создать их резервную копию.Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥6
Обычно
SUM() OVER() считает всё подряд, но что если нам нужна сумма только за последние N дней, без геморроя?Решение – используем
RANGE BETWEEN INTERVAL! SELECT
user_id,
transaction_date,
amount,
SUM(amount) OVER (
PARTITION BY user_id
ORDER BY transaction_date
RANGE BETWEEN INTERVAL '7 days' PRECEDING AND CURRENT ROW
) AS rolling_sum
FROM transactions;
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥18👍11🤯3
SQL-фишка, которая сразит наповал:
Простой способ выбрать самую дорогую покупку каждого клиента без кучи вложенных запросов!
☑ Работает быстрее и чище, чем GROUP BY + MAX. Рекомендуется для любых построчных подзапросов.
👉 @SQLPortal
LATERAL (или CROSS APPLY)Простой способ выбрать самую дорогую покупку каждого клиента без кучи вложенных запросов!
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤6👀4🔥3