sql_tg | Unsorted

Telegram-канал sql_tg - SQL и БД Learning

11177

Изучаем SQL с нуля По всем вопросам @valentin_mascarov Реклама на бирже - https://telega.in/c/SQl_and_DB_Learning № 4974313625

Subscribe to a channel

SQL и БД Learning

Ищем IT-специалистов в крупные, интересные проекты. Вакансии регулярно публикуются на нашем канале IT_One, подписывайтесь, чтобы не потерять!

Прямо сейчас мы в поисках системного аналитика и других специалистов!

В компании IT_One активно практикуется:
✔️Индивидуальный план развития сотрудника с определением вектора и конкретных шагов для его реализации;
✔️Профессиональное обучение и повышение квалификации в учебных центрах и от экспертов в IT;
✔️Система наставничества, которая позволяет успешно проходить испытательный срок с достижением поставленных целей и задач;
✔️Возможность быть частью IT-сообщества, которое делится опытом, кейсами, проводит внутренние митапы, создает почву для развития в качестве спикера.

Еще больше вакансий и подробнее о жизни компании на нашем канале, не забудьте подписаться!

Реклама. ООО "ИТ1-РТК". ИНН 9717097105. erid: LjN8KP75u

Читать полностью…

SQL и БД Learning

DuckDb: эффективная OLAP-база данных

DuckDB позволяет выполнять аналитические запросы, благодаря столбцово-векторному механизму базы данных. Это аналитическая или OLAP-версия SQLite, которая является более простой в установке по сравнению с Microsoft SQL Server и Postgres.

Преимущества DuckDB

- DuckDB имеет высокую производительность при выполнении сложных запросов
- Она работает с большим объемом данных
- DuckDB поддерживает стандарт SQL и имеет обширную библиотеку функций
- Она имеет небольшой размер и быстро устанавливается
- DuckDB прост в использовании и имеет дружественный интерфейс

Недостатки DuckDB

- Она не имеет поддержки многопользовательских приложений
- DuckDB не поддерживает некоторые функции, которые поддерживаются другими СУБД

Читать полностью…

SQL и БД Learning

Возможности SQLite

Частичные индексы (Partial Indexes)

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

Индексы на выражение (Indexes On Expressions)

Если в запросах к таблице часто используется выражение, то можно построить индекс по нему. Однако следует иметь в виду, что пока оптимизатор не очень гибок и перестановка столбцов в выражении приведет к отказу от использования индекса.

Вычисляемые колонки (Generated Columns)

Если данные столбца представляют собой результат вычисления выражения по другим столбцам, то можно создать виртуальный столбец. Есть два вида: VIRTUAL (вычисляется каждый раз при чтении таблицы и не занимает места) и STORED (вычисляется при записи данных в таблицу и место занимает). Разумеется записывать данные в такие столбцы напрямую нельзя.

R-Tree индекс

Индекс предназначен для быстрого поиска в диапазоне значений/вложенности объектов, т.е. задачи типичной для гео-систем, когда объекты-прямоугольники заданы своей позицией и размером и требуется найти все объекты, которые пересекаются с текущим. Данный индекс реализован в виде виртуальной таблицы (см. ниже) и это индекс только по своей сути. Для поддержки R-Tree индекса требуется собрать SQLite с флагом SQLITE_ENABLE_RTREE (по умолчанию не установлен).

Читать полностью…

SQL и БД Learning

Дана следующая таблица:

| OrderID | CustomerID | OrderDate | TotalAmount |
|---------|------------|------------|-------------|
| 1 | 1001 | 2022-05-01 | 150.00 |
| 2 | 1002 | 2022-06-15 | 250.00 |
| 3 | 1001 | 2022-07-20 | 100.00 |
| 4 | 1003 | 2022-08-10 | 300.00 |
| 5 | 1002 | 2022-09-05 | 200.00 |

Какой из следующих SQL запросов отберет заказы, сделанные покупателем с ID равным 1001?

A) SELECT * FROM Orders WHERE CustomerID = 1001
B) SELECT * FROM Orders WHERE CustomerID = '1001'
C) SELECT * FROM Orders WHERE CustomerID = '1001' ORDER BY OrderDate DESC
D) SELECT * FROM Orders WHERE CustomerID = 1001 AND TotalAmount > 200.00

Читать полностью…

SQL и БД Learning

Индекс SP-GIST

Индекс SP-GIST - это тип индекса, используемый в PostgreSQL для улучшения производительности поиска в геоданных и других многомерных данных.

Индекс SP-GIST разбивает пространство данных на маленькие области, называемые "ячейками", и строит по ним дерево. Каждая ячейка может содержать несколько объектов, и запросы на поиск объектов могут быть выполнены путем просмотра только тех ячеек, где могут находиться искомые объекты.

Создание индекса может быть выполнено с помощью оператора CREATE INDEX. Также индекс может быть использован для выполнения запросов на поиск объектов в многомерных данных.

Читать полностью…

SQL и БД Learning

Правое соединение в SQL Server

Правое соединение в SQL Server
(также известное как RIGHT JOIN) используется для объединения двух таблиц вместе, чтобы получить все строки из правой таблицы и соответствующие строки из левой таблицы. Если нет совпадений, то возвращается значение NULL вместо результатов.

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

Читать полностью…

SQL и БД Learning

#Вопросы_с_собеседования

Проверьте, существует ли значение в массиве Postgres

Ответ на картинке.

Читать полностью…

SQL и БД Learning

#вопросы_с_собеседований
Почему стоит пользоваться PDO для работы с базой данных?

Безопасность

PDO предоставляет встроенные механизмы защиты от SQL-инъекций
, которые являются одним из наиболее распространенных способов взлома веб-приложений. Использование подготовленных запросов в PDO позволяет избежать SQL-инъекций и значительно повысить безопасность вашего приложения.

Поддержка нескольких типов баз данных

PDO обеспечивает унифицированный API для работы с различными типами баз данных
, такими как MySQL, PostgreSQL, SQLite и др. Это означает, что вы можете использовать один и тот же код для работы с разными базами данных без необходимости переписывать его для каждой отдельной базы данных.

Повторное использование кода

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

Читать полностью…

SQL и БД Learning

Join Hints в T-SQL

Хинт (hint) – это указание оптимизатору запросов, которое переопределяет его поведение по умолчанию на время выполнения SQL инструкции.

С помощью Join Hints мы можем влиять на выбор алгоритма физического соединения таблиц.

Существуют следующие хинты:

LOOP
– указывает, что соединение будет выполнено с помощью алгоритма Nested Loops (вложенные циклы);
HASH – указывает, что соединение будет выполнено с помощью алгоритма Hash Match (хэш-соединение);
MERGE – указывает, что соединение будет выполнено с помощью алгоритма Merge (соединение слиянием);
REMOTE – указывает, что соединение будет выполнено на стороне правой таблицы, если она расположена удаленно. Обычно это используется, когда таблица слева является локальной, а таблица справа удаленной и в ней гораздо больше строк, чем в левой таблице.

Правила:
1.
Если правая таблица является локальной, соединение выполняется локально;
2. Если обе таблицы являются удаленными, но из разных источников данных, REMOTE вызывает выполнение соединения на стороне правой таблицы;
3. Если обе таблицы являются удаленными таблицами из одного источника данных, REMOTE не требуется;
4. Аргумент REMOTE может быть использован только при операциях INNER JOIN.

Читать полностью…

SQL и БД Learning

DROP VIEW

- это оператор языка SQL, который используется для удаления (удаления) представления базы данных. Представление - это виртуальная таблица, которая не имеет физического существования в базе данных, но может быть использована для упрощения запросов к базе данных.

Чтобы удалить представление, используйте оператор DROP VIEW, за которым следует имя представления, которое нужно удалить. Пример:

DROP VIEW имя_представления;
имя_представления - то, что нужно удалить.

Использование DROP VIEW может быть полезно, если вам больше не нужно определенное представление, и вы хотите освободить место в базе данных. Однако, прежде чем удалить представление, убедитесь, что оно больше не нужно для вашей работы с базой данных.

Читать полностью…

SQL и БД Learning

#вопросы_с_собеседований

Как распарсить строку в SQL?

Часто возникает необходимость распарсить строку в SQL запросе, чтобы получить отдельные элементы. Существует несколько способов это сделать.

1. Использование функции SUBSTRING

Для извлечения отдельных элементов из строки можно использовать функцию SUBSTRING.

2. Использование функции CHARINDEX

Для извлечения подстроки из строки можно использовать функцию CHARINDEX.

3. Использование функции PARSENAME

Для извлечения отдельных элементов из строки, разделенных определенным символом, можно использовать функцию PARSENAME.

Читать полностью…

SQL и БД Learning

⚡️ Запускаем розыгрыш новенького iPhone 15 Pro на 256 ГБ!

В честь выхода нового айфона, мы решили разыграть его среди наших подписчиков!

УСЛОВИЯ для участия:
– Подписаться на 3 канала:
1. 1337: IT, ChatGPT, Midjourney
2. Не баг, а фича
3. Apple News
– Нажать кнопку «Участвовать» ниже у поста

Итоги будут 1 ноября на канале. Всем желаем удачи!

Участников: 53146
Призовых мест: 1
Дата розыгрыша: 21:00, 01.11.2023 MSK (3 дня)

Читать полностью…

SQL и БД Learning

❗️Как развиваться разработчику и администратору баз данных? 
👉 Наращивать объем знаний и навыков.

Приглашаем на открытый урок «Миграция между кластерами PostgreSQL» от OTUS и станьте востребованным разработчиком.

🔹 На эфире обсудим проблематику, пути решения и тестирование вариантов на стенде.

Занятие пройдёт 31 октября в 20:00 мск и будет приурочено к старту курса «Базы данных».

🔹 После урока у вас будет возможность продолжить обучение в рассрочку на специальных условиях

👉 РЕГИСТРАЦИЯ
https://otus.ru/lessons/subd/?utm_source=telegram&utm_medium=cpm&utm_campaign=subd&utm_content=lesson-31-10-2023&utm_term=sql_and_db_learning#event-3493

Реклама. ООО "ОТУС ОНЛАЙН-ОБРАЗОВАНИЕ". ИНН 9705100963. erid: LjN8KQEuk

Читать полностью…

SQL и БД Learning

Читать полностью…

SQL и БД Learning

Архитектура PostgreSQL. Часть 0. Старт программы

Смотреть статью

Читать полностью…

SQL и БД Learning

Номера строк, запросы в новой вкладке и другие хинты SQLDeveloper

Смотреть статью

Читать полностью…

SQL и БД Learning

Как получить информацию о структуре БД для документации

Создаём документацию БД и словарь данных информационной системы своими руками. Полезные SQL-скрипты и приемы документирования базы данных

Смотреть статью

Читать полностью…

SQL и БД Learning

PANDAS VS SQL

Смотреть статью

Читать полностью…

SQL и БД Learning

Вам нравится читать контент на этом канале?

Возможно, вы задумывались о том, чтобы купить на нем интеграцию?

Следуйте 3 простым шагам, чтобы сделать это:

1) Регистрируйтесь по ссылке: https://telega.in/c/SQl_and_DB_Learning
2) Пополняйтесь удобным способом
3) Размещайте публикацию

Если тематика вашего поста подойдет нашему каналу, мы с удовольствием опубликуем его.

Читать полностью…

SQL и БД Learning

Индексы и оптимизация MySQL-запросов

Смотреть статью

Читать полностью…

SQL и БД Learning

YDB знакомится с TPC-C: раскрываем производительность наших распределенных транзакций

В статье сравниваются opensource СУБД YDB и CockroachDB. В основе сравнения лежит реализация TPC-C, бенчмарка производительности онлайн-обработки транзакций. В результате тестирования YDB обработал на 5,6% больше транзакций в минуту, чем CockroachDB. Больше подробностей по ссылке ниже.

Читать статью

Читать полностью…

SQL и БД Learning

Девять способов выстрелить себе в ногу с PostgreSQL

Читать статью

Читать полностью…

SQL и БД Learning

Миграция микросервиса с геоданными с MS SQL на PostgreSQL

Читать статью

Читать полностью…

SQL и БД Learning

MySQL ускорение SQL запросов

Ускорение SQL запросов в MySQL может быть достигнуто следующими способами:

1. Индексы: использование индексов может ускорить поиск и сортировку данных в ваших таблицах.

2. Оптимизация структуры таблиц: важно убедиться, что структура таблиц оптимизирована для выполнения запросов.

3. Оптимизация запросов: проверьте ваши запросы на оптимизацию, убедитесь, что вы используете правильные операторы JOIN и индексы для улучшения производительности.

4. Кэширование данных: использование кэширования данных может ускорить выполнение повторяющихся запросов.

5. Использование представлений: использование представлений может упростить запросы и улучшить их читаемость.

6. Ограничение размера выборки: используйте оператор LIMIT, чтобы выбрать только необходимые данные, это уменьшит время выполнения запроса.

7. Минимизация дубликатов данных: дубликаты данных могут увеличить размер таблицы и уменьшить производительность запросов. Удаляйте дубликаты данных или используйте оптимизированные структуры данных, такие как нормализованные таблицы.

8. Оптимизация памяти: оптимизируйте использование памяти вашей базы данных, чтобы уменьшить время обработки запросов.

9. Мониторинг производительности: важен для определения причин низкой производительности и для поиска способов ее улучшения. Он включает в себя слежение за показателями, такими как загруженность процессора, использование памяти, время ответа на запросы и т. д.

10. Использование индексов: используйте индексы, чтобы ускорить поиск данных в таблице. Обеспечьте, чтобы ваши индексы были актуальными и эффективными.

Читать полностью…

SQL и БД Learning

Как оценить размер данных: краткий гайд

Смотреть статью

Читать полностью…

SQL и БД Learning

Генерация случайных чисел в MySQL

Для генерации случайных чисел или сортировки строк в случайном порядке можно использовать стандартную функцию NEWID().

Читать полностью…

SQL и БД Learning

Функция OLD_PASSWORD и PASSWORD

OLD_PASSWORD - используется для шифрования паролей в MySQL.

Функция использует алгоритм, который был использован в более ранних версиях MySQL. Как правило, эту функцию используют для обеспечения совместимости с более старыми приложениями, которые могут не поддерживать более современные алгоритмы шифрования.

PASSWORD - используется для шифрования пароля пользователя. Она принимает единственный аргумент - строку, которую нужно зашифровать.

Шифрованный результат представляет собой строку из 41 символа, которую можно сохранить в базе данных в качестве зашифрованного пароля.

Читать полностью…

SQL и БД Learning

Репликация между SQL- и NoSQL-базами данных: туда и обратно

Смотреть статью

Читать полностью…

SQL и БД Learning

Псевдонимы SQL: что это и как использовать?

Что такое псевдонимы SQL

Псевдоним SQL - это временное имя, которое вы можете присвоить таблице или столбцу в вашем запросе. Он не заменяет оригинальное имя, но позволяет вам ссылаться на него по другому имени в вашем запросе.

Как использовать псевдонимы SQL

1.
Для создания псевдонима в SQL используется ключевое слово "AS". Вы можете присвоить псевдоним таблице или столбцу, используя синтаксис №1

2. Вы можете также использовать псевдоним для таблицы, используя синтаксис №2

Читать полностью…

SQL и БД Learning

База по шардированию базы

Смотреть статью

Читать полностью…
Subscribe to a channel