Как понять что нужно использовать индекс в БД

Python Junior Рунити
Как понять что нужно использовать индекс в БД
Ответы
Индексы в БД ускоряют поиск, но замедляют вставку и обновление. Их стоит добавлять, если: - Часто выполняются запросы с `WHERE`, `JOIN` или `ORDER BY` по определенным полям. - Таблица большая, а выборки возвращают мало строк (высокая селективность). - Поле используется в условиях уникальности (`UNIQUE`, `PRIMARY KEY`). Пример с SQLite: ``` import sqlite3 conn = sqlite3.connect('test.db') cursor = conn.cursor() # Создаем таблицу без индекса cursor.execute("CREATE TABLE users (id INTEGER, name TEXT, email TEXT)") # Добавляем индекс для ускорения поиска по email cursor.execute("CREATE INDEX idx_email ON users(email)") # Теперь поиск по email будет быстрее cursor.execute("SELECT * FROM users WHERE email = ?", ('test@example.com',)) ``` Не стоит индексировать: - Маленькие таблицы - Столбцы с низкой селективностью (например, булевы значения) - Столбцы, которые часто обновляются