Перейти к содержимому
На этой странице

Работа с таблицами

Все темы Java Developer

Что такое «временная таблица»? Для чего она используется?

Временная таблица хранит промежуточные данные. Область видимости и срок жизни зависят от СУБД. Ниже смешаны два синтаксиса: CREATE TEMPORARY TABLE применяется, например, в PostgreSQL, а #temp и ##temp относятся к SQL Server.

Основные виды:

  1. Локальные временные таблицы:
    • Создаются с помощью CREATE TEMPORARY TABLE или CREATE TABLE #temp.

    • Видны только в пределах текущей сессии.

    • Удаляются автоматически после завершения сессии или транзакции.

  2. Глобальные временные таблицы:
    • Создаются с помощью CREATE TABLE ##temp.

    • Видны для всех сессий.

    • Удаляются только после завершения всех сессий, которые используют таблицу.

Использование:

  1. Хранение промежуточных результатов:
    • Используются для хранения промежуточных данных во время сложных запросов или манипуляций с данными.
  2. Ускорение сложных операций:
    • Ускоряют выполнение сложных операций, разбивая их на более простые шаги.
  3. Обработка данных:
    • Помогают в сортировке, фильтрации и агрегировании данных перед окончательной вставкой в основные таблицы.

Пример:

-- Создание локальной временной таблицы
CREATE TEMPORARY TABLE temp_users (
    id INT,
    name VARCHAR(100)
);

-- Вставка данных во временную таблицу
INSERT INTO temp_users (id, name) VALUES (1, 'Alice');

-- Использование временной таблицы
SELECT * FROM temp_users;

-- Локальная временная таблица будет автоматически удалена по завершении сессии

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


Как создать индекс?

Индекс используется для ускорения поиска и сортировки данных в таблице.

Основные команды:

  1. Создание обычного индекса:
    CREATE INDEX index_name ON table_name(column_name);
  2. Создание уникального индекса:
    CREATE UNIQUE INDEX index_name ON table_name(column_name);

Примеры:

  1. Обычный индекс:
    CREATE INDEX idx_user_name ON users(name);
  2. Уникальный индекс:
    CREATE UNIQUE INDEX idx_user_email ON users(email);

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

Собеседования: Java

Смотри записи интервью, узнай, какие вопросы задают и как отвечают кандидаты.

Вопросы и ответы

Не нашли ответ? Напишите мне в чат. Я делаю Шпаргалку и сам отвечаю на сообщения. Расскажите, что не работает или чего вам не хватает. Может, смогу сразу взять это в работу.

Откуда взяты вопросы?

Из реальных собеседований. Основой подборки стал опыт Вадима Новосёлова: он проходил интервью и записывал вопросы. Подробнее о материалах.

Насколько эти вопросы актуальны?

Эти вопросы встречались нам на реальных собеседованиях в 2025 году. Мы регулярно проходим собеседования и пополняем подборку новыми вопросами. Основы профессии и ключевые технологии остаются востребованными годами, а детали конкретных инструментов и версий стоит сверять с текущей документацией.

На какой уровень рассчитана подборка?

Мы проходили собеседования на вакансии уровня Middle+, а иногда и на Senior-позиции. Вопросы из этих интервью вошли в подборку. Направления работы: Java-разработчик, Backend-разработчик на Java. Глубина обсуждения зависит от вакансии: будь готов объяснить основную идею, привести практический пример и разобрать ограничения и альтернативы решения.

Этот вопрос точно будет на моём собеседовании?

Гарантии нет: набор вопросов зависит от компании, задач команды, уровня вакансии и самого интервьюера. Эти вопросы уже встречались на реальных собеседованиях, но на твоём интервью ту же тему могут проверить другой формулировкой, практической задачей или обсуждением твоего опыта. Используй подборку, чтобы разобраться в теме: объясняй идею своими словами, приводи примеры и готовься обсудить ограничения и альтернативы решения. Так будет проще ответить и на знакомый вопрос, и на неожиданные уточнения.