Недавно ходила на сходку ODS (Open Data Science) и познакомилась с одним дата аналитиком. В общих чертах состоялся такой диалог:
- Чем вы занимаетесь?
- Шатаю таблички.
- И каким образом?
- Да просто select *, и все)
Так вот этот пост про do и don'ts в сфере работы с данными:
1️⃣ Всегда делайте
SELECT *, а не только нужные поля - вдруг они пригодятся в будущем? И никаких LIMIT - мы не хотим делать выводы на крошечной выборке2️⃣ Никогда не навешивайте индексы, они просто забивают память
3️⃣ Добавляйте как можно больше джойнов в один запрос - надо экономить место
4️⃣ Никогда не проверяйте, какие типы данных сопоставляются в
ON, WHERE и т.д. - лучше сделайте побыстрее и идите отдыхать5️⃣ Считайте агрегации несколько раз вместо использования cte или temp табличек - это чисто синтаксический сахар
6️⃣ Cross join - наше все
7️⃣ Вставляйте как можно больше
OR, не пытайтесь заменить на IN, UNION и т.д.8️⃣ Если нужен
DISTINCT, он должен быть в каждом подзапросе - для нашей 200% уверенности9️⃣ Навешивайте на фильтруемые поля кучу функций -
UPPER, LOWER, LEFT, RIGHT... Ну а WHERE UPPER(name) LIKE '_Mary%'- вообще песня!
_ ⏩1 символ
%⏩0 или много символов
🔟 Чем больше подзапросов - тем выше ваша зарплата💵