Что такое индексы в базе данных и зачем они нужны?

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

Короткий ответ

Что ответить на собеседовании

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

Подробный разбор

Ответ с пояснениями

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

Типы индексов:

  • B-tree — самый распространённый, подходит для равенств и диапазонных запросов.
  • Bitmap — эффективен для столбцов с небольшим числом уникальных значений.

Пример создания индекса:

CREATE INDEX idx_users_email ON users(email);

Транзакции — это последовательность операций с базой данных, которые выполняются как единое целое. Транзакция либо полностью завершается успешно (commit), либо полностью отменяется (rollback), обеспечивая целостность данных.

Основные свойства транзакций (ACID):

  • Atomicity (Атомарность): все операции внутри транзакции выполняются полностью или не выполняются вовсе.
  • Consistency (Согласованность): транзакция переводит базу из одного корректного состояния в другое.
  • Isolation (Изоляция): параллельные транзакции не влияют друг на друга.
  • Durability (Надёжность): после фиксации транзакции изменения сохраняются даже при сбоях.

Пример использования транзакции:

BEGIN TRANSACTION;
UPDATE accounts SET balance = balance - 100 WHERE user_id = 1;
UPDATE accounts SET balance = balance + 100 WHERE user_id = 2;
COMMIT;

Если в процессе возникнет ошибка, можно выполнить ROLLBACK, чтобы отменить изменения.

ИИ-помощник для собеседований

Хочешь уверенно проходить собеседования?

Попробуй ИИ-помощник для собеседований: слышит вас и собеседника, анализирует экран, подсказывает ответы в реальном времени, работает без VPN и не попадает в захват экрана.

Подробнее