Logo
TGCATALOG
Каталог Подборки Блог
Data analysis - DA SQL

Data analysis - DA SQL

Анализ данных: SQL, Python.

Нет оценок
582
29.10.2026
582
29.10.2026
Нет оценок
582
29.10.2026
Безопасный переход через бот
О канале

Анализ данных: SQL, Python.

Подписчиков 1,700
Тематика Технологии
Язык Русский
Ссылка t.me/business_stats

Также рекомендуем

Kekaton AI | Озвучка и клон голоса
Kekaton AI | Озвучка и клон голоса
Бот

AI бот для озвучки текста и клонирования голоса в Telegram. Создавай аудио с помощью нейросети быстро и просто.

Описание

Про анализ данных: базы данных, SQL, Python и другое для аналитиков.

Последние посты

Data analysis - DA SQL
Data analysis - DA SQL
🔒Открыть пост
и посмотреть медиа
Партиционирование в SQL Для начала, что такое партиционирование? Партиционирование – это разделение одной (часто большой) таблицы на разные части, которые сохраняются отдельно. При этом, с точки зрения логики, все эти части являются составными для "главной" таблицы. Например, есть у нас таблица с транзакциями с 2020 по 2025 год. Такую таблицу можно разбить на 6 разных частей: по одной за каждый год + одну за нынешний 2025. 🟠Зачем это нужно? ▶️Во-первых, ради производительности. Бывают ситуации, когда нам нужно узнать, какие были транзакции, условно, в 2022 году. И чтобы не нагружать запрос построчным чтением из огромной таблицы, можно обратиться к ее части в 5 раз меньшей по объему. ▶️Во-вторых, ради управления/организации данных. Из примера очевидно, что 2020-2024 года - архивные. Значит, всю текущую информацию мы будем складывать уже в секцию с 2025 годом. Также можно работать с архивными данными без опаски "навредить" текущим, и наоборот. ▶️В-третьих, можно вообще хранить эти части на разных серверах, тем самым более эффективно используя ресурсы. 🟠Какое партиционирование бывает и как оно пишется на SQL? Партиционирование делится на 2 большие категории: горизонтальное и вертикальное. ✅ГОРИЗОНТАЛЬНОЕ ПАРТИЦИОНИРОВАНИЕ Данные разделяются по строкам. Пример выше как раз относится к горизонтальному партиционированию, когда данные могут быть разделены по дате. Горизонтальное партиционирование бывает: ▶️По диапазону (Range). Данные разделяются на основе диапазона значений в определенном столбце. CREATE TABLE users ( user_id INT, name VARCHAR(100), age INT, email VARCHAR(100) ) PARTITION BY RANGE (age) ( PARTITION p0 VALUES LESS THAN (18), -- младше 18 лет PARTITION p1 VALUES LESS THAN (30), -- от 18 до 29 лет PARTITION p2 VALUES LESS THAN (50), -- от 30 до 49 лет PARTITION p3 VALUES LESS THAN (100), -- от 50 до 99 лет ) ▶️По списку (List). Данные разделяются на основе конкретных значений в столбце. CREATE TABLE users ( user_id INT, name VARCHAR(100), region VARCHAR(50) ) PARTITION BY LIST (region) ( PARTITION p_north VALUES IN ('Север'), PARTITION p_south VALUES IN ('Юг'), PARTITION p_east VALUES IN ('Восток'), PARTITION p_west VALUES IN ('Запад') ) ▶️По хэшу (Hash). Данные распределяются по партициям на основе хэша. То есть: есть user_id. Если его прописать в PARTITION, а потом указать кол-во партиций, то таблица будет равномерно разделена на указанное число частей: CREATE TABLE users ( user_id INT, name VARCHAR(100), age INT ) PARTITION BY HASH (user_id) PARTITIONS 4 🟠Важное отступление. Вы, наверное, заметили, что при всех этих видах партиционирования мы только лишь создаем пустую таблицу и дальше пишем разные PARTITION BY. Откуда берутся данные? Чтобы партиционирование заработало, нужно вставить данные в таблицу с прописанным PARTITION BY, например, при помощи INSERT. Данные автоматически распределятся, и нужно будет только выбрать их: SELECT * FROM sales PARTITION (p2) ✅ВЕРТИКАЛЬНОЕ ПАРТИЦИОНИРОВАНИЕ Данные разделяются по столбцам. Например, редко используемые столбцы могут быть вынесены в отдельную таблицу. Оно осуществляется немного по-другому. Как пример: -- Всё вместе CREATE TABLE products ( product_id INT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10, 2), description TEXT, category VARCHAR(50), created_at DATETIME, updated_at DATETIME ) -- Разделение CREATE TABLE products_main ( product_id INT PRIMARY KEY, name VARCHAR(100), price DECIMAL(10, 2), category VARCHAR(50) ) CREATE TABLE products_additional ( product_id INT PRIMARY KEY, description TEXT, created_at DATETIME, updated_at DATETIME, FOREIGN KEY (product_id) REFERENCES products_main(product_id) ) Важно при разделении столбцов прописать внешние и первичные ключи, по которым в будущем можно будет связывать эти таблицы при необходимости при помощи join.
Data analysis - DA SQL
Динамика подписчиков
+-0.5% за 30 дней
Текущие
1,700
Месяц назад
1,709
Средний рост
+0 / день
Обновлено
21 час назад

Отзывы о канале Data analysis - DA SQL

Авторизуйтесь, чтобы оставить отзыв

Только зарегистрированные пользователи могут делиться своим мнением.

Пока нет отзывов

Станьте первым, кто поделится своим впечатлением об этом ресурсе!

Похожие ресурсы

Loading
Переход на светлую тему
Главная Каталог Подборки Блог Вход