SQL Ready | Базы Данных
10.6K subscribers
663 photos
28 videos
2 files
330 links
Авторский канал про Базы Данных и SQL
Ресурсы, гайды, задачи, шпаргалки.
Информация ежедневно пополняется!

Автор: @energy_it

Реклама на бирже: https://telega.in/c/sql_ready
加入频道
🖥 Держите хорошую напоминалку с порядком работы операторов в запросе!

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

➡️ SQL Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥5🤝4
This media is not supported in your browser
VIEW IN TELEGRAM
Exercism — это платформа для изучения программирования через практические задания. Можно практиковаться на 70 различных языках, в том числе и на SQL.

📌 Ссылочка: exercism.org

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9🔥3
Почему неожиданно увеличилось время запроса?

Причин тому может быть много - неоптимизированный запрос, запрос вне индекса, устаревшая статистика таблицы и так далее. И точно определить причину помогут инструменты EXPLAIN и ANALYZE.

Предположим, у нас есть большая таблица, которая содержит около миллиона строк с разными книгами. Естественно у нас уже есть некластерный индекс по столбцу жанр — для быстрого поиска книг по жанрам, сделаем запрос:
SELECT book_title, author FROM books WHERE genre = 'Фантастика';


Но запрос возвращает результат не за 200 ожидаемых мс, а за 900 мс. Многовато, надо разбираться, проанализируем запрос:
EXPLAIN ANALYZE SELECT book_title, author FROM books WHERE genre = 'Фантастика';


Запрос EXPLAIN ANALYZE возвращает план запроса и время выполнения каждой операции в запросе:
                            QUERY PLAN
Seq Scan on books (cost=0.00..25000.00 rows=1000 width=100) (actual time=0.010..900.000 rows=500 loops=1)
Filter: (genre = 'Фантастика'::text)
Rows Removed by Filter: 999500
Planning Time: 0.200 ms
Execution Time: 900.500 ms
(4 rows)


Проанализируем план запроса и увидим, что планировщик запроса собирается обойти всю таблицу — Seq Scan on books, хотя должен использовать индекс по жанру. Это значит, планировщик не использует индекс из-за устаревшей статистики или из-за быстрого роста записей в таблице.

🔥 В следующей части расскажу, что делать для обновления статистики таблицы и как избежать таких ситуаций с помощью VACUUM ANALYZE.

➡️ SQL Ready | #практика
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6🔥4
Что же выведет консоль?
Anonymous Quiz
39%
A
31%
B
21%
C
9%
D
👍8🔥3
😁16🔥5👎1
😎 Нашел для вас незаконно полезную статью на Хабре, в которой автор делится своим опытом и хитростями в работе с БД и SQL.

В этой статье:
• Лайфхаки при работе с большими загрузками.
• В каком виде стоит загружать данные.
• Неочевидные советы при работе с индексами
.

🔊 Продолжить читать можешь на Habr!


➡️ SQL Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
🖥 Разберем два похожих метода для работы с разными типами данных

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

CAST — преобразует указанное значение в заданный тип данных. Необходимо для преобразования строковых значений в числовые, чтобы их можно было сравнить.

CONVERT — аналогичный метод преобразования данных, но предлагает расширенный функционал для форматирования, но поддерживается не всеми СУБД.

🔥 — если узнал новое
🤝 — если уже пользовался

➡️ SQL Ready | #метод
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8🔥3
This media is not supported in your browser
VIEW IN TELEGRAM
Знали про StrataScratch? Это платформа по типу leetcode, но только для SQL

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

📌 Ссылочка: stratascratch.com

➡️ SQL Ready | #ресурс
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
Что же выведет консоль?
Anonymous Quiz
14%
A
23%
B
27%
C
36%
D
👍7🔥5
👍 Еще одна интересная статья попалась мне на Хабре — подборка прикладных задач для аналитики данных

В этой статье:
• Работа с NULL и применение логики ветвления IF-THEN-ELSE
• Дедупликация данных
• Анализ
истории со Slowly Changing Dimensions

🔊 Продолжить читать можешь на Habr!


➡️ SQL Ready | #статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍5🔥3
🖥 Агрегатные функции SQL

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

➡️ SQL Ready | #шпора
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7🔥3