Spice — унифицированный интерфейс запросов SQL и портативная среда выполнения для быстрого извлечения данных из любой БД, хранилища данных или озера данных
Spice — open-source портативная среда выполнения, предлагающая унифицированный интерфейс SQL для получения данных из любой базы данных и не только.
Spice написана на Rust для максимальной производительности.
🖥 GitHub
🟡 Доки
curl https://install.spiceai.org | /bin/bash
spice init spice_qs
cd spice_qs
spice run
Spice — open-source портативная среда выполнения, предлагающая унифицированный интерфейс SQL для получения данных из любой базы данных и не только.
Spice написана на Rust для максимальной производительности.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥2👍2
Please open Telegram to view this post
VIEW IN TELEGRAM
❤🔥9🔥5👍3
Выберите правильный пример запроса с использованием UNION:
Anonymous Quiz
19%
SELECT id, city FROM Orders ORDER BY id UNION SELECT id, city FROM Sellers ORDER BY city;
7%
SELECT id, city, seller_id FROM Orders AND UNION SELECT id, city FROM Sellers ORDER BY id;
56%
SELECT id, city FROM Orders UNION SELECT id, city FROM Sellers ORDER BY id;
9%
Все запросы верные
9%
Узнать ответ
👍8❤🔥1
EdgeDB — open-source БД с декларативной схемой, встроенной системой миграции и языком запросов нового поколения
—
EdgeDB — это БД, поддерживающая сложные иерархические запросы; EdgeDB собрала в себе лучшее реляционных БД, графовых БД и ORM.
🖥 GitHub
🟡 Доки
—
curl https://sh.edgedb.com --proto '=https' -sSf1 | shEdgeDB — это БД, поддерживающая сложные иерархические запросы; EdgeDB собрала в себе лучшее реляционных БД, графовых БД и ORM.
Please open Telegram to view this post
VIEW IN TELEGRAM
Please open Telegram to view this post
VIEW IN TELEGRAM
👍1
#Вопросы_с_собеседования
Как SQL-запрос с использованием операторов JOIN может быть оптимизирован для ускорения выполнения, если одна из таблиц содержит миллионы записей, а другая – только несколько сотен? Опишите три различных подхода к оптимизации
Использование Индексов: Создание индексов на столбцах, участвующих в JOIN, может значительно ускорить процесс, особенно на столбцах большой таблицы. Если JOIN выполняется по столбцу, который является первичным ключом или имеет уникальный индекс, это обычно обеспечивает наилучшую производительность.
Оптимизация Порядка JOIN: Порядок, в котором таблицы соединяются в запросе, может влиять на производительность. Лучше начинать с таблицы с наименьшим количеством строк (в данном случае, таблицы с несколькими сотнями записей), что может уменьшить количество обрабатываемых данных на более ранней стадии выполнения запроса.
Использование Подзапросов или CTE (Common Table Expressions): В некоторых случаях, использование подзапросов или CTE для предварительной фильтрации данных перед выполнением JOIN может быть эффективным. Например, можно сначала выделить необходимые данные из меньшей таблицы с помощью подзапроса или CTE, а затем выполнить JOIN с большей таблицей. Это может сократить количество обрабатываемых данных и ускорить выполнение запроса.
Каждый из этих подходов может помочь в оптимизации запросов SQL, особенно когда речь идет о соединении таблиц с большим различием в размерах.
Как SQL-запрос с использованием операторов JOIN может быть оптимизирован для ускорения выполнения, если одна из таблиц содержит миллионы записей, а другая – только несколько сотен? Опишите три различных подхода к оптимизации
Использование Индексов: Создание индексов на столбцах, участвующих в JOIN, может значительно ускорить процесс, особенно на столбцах большой таблицы. Если JOIN выполняется по столбцу, который является первичным ключом или имеет уникальный индекс, это обычно обеспечивает наилучшую производительность.
Оптимизация Порядка JOIN: Порядок, в котором таблицы соединяются в запросе, может влиять на производительность. Лучше начинать с таблицы с наименьшим количеством строк (в данном случае, таблицы с несколькими сотнями записей), что может уменьшить количество обрабатываемых данных на более ранней стадии выполнения запроса.
Использование Подзапросов или CTE (Common Table Expressions): В некоторых случаях, использование подзапросов или CTE для предварительной фильтрации данных перед выполнением JOIN может быть эффективным. Например, можно сначала выделить необходимые данные из меньшей таблицы с помощью подзапроса или CTE, а затем выполнить JOIN с большей таблицей. Это может сократить количество обрабатываемых данных и ускорить выполнение запроса.
Каждый из этих подходов может помочь в оптимизации запросов SQL, особенно когда речь идет о соединении таблиц с большим различием в размерах.
👍14🔥2
#Вопросы_с_собеседования
❓Отработает ли данный запрос?
Ответ:
Нет, не отработает. Опытный data-инженер знает, что row_number() — это часть аналитической функции, которая не может быть применена сама по себе. Аналитические функции используются только в конcтрукциях SELECT или ORDER BY.
❓Отработает ли данный запрос?
Ответ:
👍17
Узнаем размер файла с помощью SQL
В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию
Где
В SQL нельзя узнать размер файла напрямую. Однако, если файл находится в базе данных, то можно использовать функцию
DATALENGTH, которая вернет размер данных в байтах.Где
MyFileColumn - это столбец таблицы, в котором хранится файл, MyTable - это имя таблицы, а ID = 1 - это условие выборки конкретной записи из таблицы.❤🔥5👍5
Сработает ли данный запрос?
Ответ:
Вопрос нацелен на то, чтобы сбить с толку кандидата. На практике при операции join в большинстве случаев выполняется жесткое сопоставление одного поля в одной таблице с другим полем во второй. Например, t.field1 = tt.field1. В данном же случае запрос отработает.
В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.
Ответ:
В этом примере выполняется сначала декартово произведение всех строк одной таблице со всем строками другой и затем применяется условие, что tt.field1 = 1. Такое написание допустимо, хотя и редко где применяется. Неопытные data-инженеры часто впадают в ступор на этой задаче.
👍13
Какое выражение истинно в SQL?
Anonymous Quiz
31%
NULL = NULL
18%
NULL != NULL
2%
NULL > NULL
36%
Ничего из перечисленного
13%
Посмотреть ответы
👍16
Узнаем кол-во всех ячеек в таблице с помощью SQL
Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).
Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.
Для выполнения этой задачи вам понадобится использовать стандартный SQL запрос COUNT(*).
Замените your_table_name на фактическое имя вашей таблицы. Результатом выполнения этого запроса будет одна строка с одним столбцом cell_count, содержащим общее количество ячеек в таблице.
👍13😁5
#Вопросы_с_собеседования
❓При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.
Ответ на картинке.
❓При выборке из таблицы workers создайте новое поле res, в котором будет строка 'eee'.
Ответ на картинке.
👍10