SQL и БД Learning – Telegram
SQL и БД Learning
10.2K subscribers
797 photos
9 videos
22 files
445 links
№ 5060218708

Изучаем SQL с нуля

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning
Download Telegram
StarRocks — высокопроизводительная БД для аналитики

StarRocks, проект Linux Foundation, — это база данных MPP OLAP нового поколения с быстрой обработкой данных для сложных аналитических кейсов, включая многомерную аналитику, аналитику в реальном времени и не только.

Быстрый старт с помощью Docker:

docker run -p 9030:9030 -p 8030:8030 -p 8040:8040 -itd \
--name quickstart starrocks/allin1-ubuntu


🖥 GitHub
📔 Доки
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Напишите запрос для выборки всех адресов Москвы из таблицы «Addresses»
Anonymous Quiz
15%
SELECT Addresses WHERE City=”Moscow”
4%
SELECT City=”Moscow” FROM Addresses
80%
SELECT * FROM Addresses WHERE City=”Moscow”
1%
Посмотреть ответ
👍9🎄3🔥1
💻Внутренности PostgreSQL: как добавить новую функцию

При разработке пача для PostgreSQL иногда требуется добавить новую функцию, чтобы ее можно было вызывать из SQL.
Собственно, об этом и идёт речь в статье.

Сразу можно отметить 2 момента. Во-первых, некоторые функции имеет смысл добавлять не в ядро системы, а поместить в отдельное расширение — либо стороннее, либо идущее вместе с PostgreSQL и живущее в каталоге /contrib/. Во-вторых, pg_proc.dat является удобной точкой входа для изучения внутренностей PostgreSQL. Также файл бывает полезен, когда вы примерно понимаете, какую функцию ищите, но не знаете ее название.

📎 Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
👍3
Как очень быстро получить количество записей в большой таблице?

Применение: отображение общего кол-ва записей в админках.

-- возвращает точное количество записей, но медленно
select count(*) as exact_count from table_name;

-- возвращает приблизительное количество записей, но быстро
-- точность больше, чем в следующем запросе, но от БД требуется актуальная статистика по таблице
select reltuples::bigint as estimate_count
from pg_class
where oid = 'public.table_name'::regclass;

-- возвращает приблизительное количество записей, но быстро
-- точность меньше, чем в предыдущем запросе, но от БД не требуется актуальная статистика по таблице
-- преимущество этого подхода в том, что можно задавать условие выборки
select 100 * count(*) as estimate_count
from table_name tablesample system (1)
where ...;
👍4
💻Коллекция готовых SQL-запросов для PostgreSQL

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

В том числе здесь:
Обсуждаются различные функции и операторы для выполнения запросов и модификации данных

Рассматриваются способы разбиения больших таблиц на N тысяч записей и распараллеливания запросов

Обсуждаются особенности сравнения record и NULL и способы быстрого получения количества записей в большой таблице

Рассматриваются рекурсивные запросы, модификация пользовательских данных (UPSERT) и журналирование изменений таблицы

Рассматриваются модификации схемы данных (DDL) и способы добавления ограничений таблицы и изменения ограничений внешнего ключа без блокирования таблицы

📎 Коллекция
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10🔥2
👍11😱2
Традиционные базы данных требуют предварительно определенную схему таблицы и не поддерживают работу с CSV файлами, без их предварительной обработки.

#DuckDB позволяет напрямую считывать файлы CSV , устраняя необходимость в явном создании таблицы и загрузке данных.

▪️Github
👍9
DbGate — open-source менеджер SQL и NoSQL БД

DbGate — это кроссплатформенный менеджер баз данных. Разработан, чтобы быть простым в использовании и эффективным при работе с несколькими БД одновременно.
Также имеет множество дополнительных функций, таких как сравнение схем, визуальный конструктор запросов, визуализация графиков или пакетный экспорт и импорт.

Поддерживает MySQL, PostgreSQL, SQL Server, MongoDB, SQLite и других.
Работает под Windows, Linux, Mac и как веб-приложение.

🖥 GitHub
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍4
💻Установка PostgreSQL из исходников

Держите полезную статью о том, как собрать PostgreSQL 16 версии из исходников, инициализировать кластер и запустить его на сервере Debian 12

Причины по которым вам может понадобится собирать PostgreSQL из исходников:
для дистрибутива нет готового пакета;
нужно собрать PostgreSQL с нестандартными параметрами.

План статьи
├╼ Сборка и установка
├╼ Создание кластера
├╼ Запуск и остановка кластера
├╼ Установка расширений PostgreSQL
├╼ Создание и запуск второго кластера
╰╼ Создание службы SystemD для кластеров

📎 Статья
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
Вопрос на SQL собеседовании.

Какие параметры используются в конструкции order by?

Ответ:

ASC и DESC
👍10