Какие знаешь способы оптимизации БД

«Какие знаешь способы оптимизации БД» — вопрос из категории Базы данных, который задают на 27% собеседований Системный Аналитик. Ниже — развёрнутый ответ с разбором ключевых моментов.

Ответ

Оптимизация БД включает несколько ключевых методов:

  1. Индексы – ускоряют поиск, но замедляют вставку/обновление. Пример:
    CREATE INDEX idx_user_email ON users(email);
  1. Нормализация – устранение избыточности данных (3NF и выше).

  2. Денормализация – сознательное дублирование для ускорения чтения.

  3. Партиционирование – разделение таблиц на части (по диапазонам, хэшу).

  4. Кэширование – Redis/Memcached для частых запросов.

  5. Оптимизация запросовEXPLAIN ANALYZE, избегание SELECT *.

  6. Настройка сервера – буферы, пулы соединений (например, innodb_buffer_pool_size в MySQL).

Пример плохого запроса и оптимизации:

-- До: 
SELECT * FROM orders WHERE DATE(created_at) = '2023-01-01';

-- После: 
SELECT id, total FROM orders 
WHERE created_at BETWEEN '2023-01-01 00:00:00' AND '2023-01-01 23:59:59';