>_ IzzyLab

Практическое задание

SQLite: создай индекс

средне

Таблица events в /root/logs.db растёт, запросы по колонке user_id медленные. Создай индекс idx_user по колонке user_id.

Что потренируешь:
  • sqlite3
  • create index
  • индексы
  • sqlite_master
  • full scan

Разбор темы

Индекс — это вспомогательная отсортированная структура, которая позволяет базе быстро находить строки по значению колонки, не пробегая всю таблицу подряд (full scan). Расплата — чуть больше места на диске и небольшое замедление вставок, зато выборки по индексированной колонке резко ускоряются. Создаётся индекс оператором CREATE INDEX с указанием имени, таблицы и колонки. Список всех объектов базы, включая индексы, SQLite хранит в служебной таблице sqlite_master.

Что проверяется

  1. индекс idx_user создан

Как это выглядит