Собесов

Home Credit Bank — оптимизация SQL-запросов и оператор-контроль

SQLOptimization / DBAСложнаяSenior

Условие

Несколько задач для проверки опыта работы с большими БД (PostgreSQL):

  1. Дубликаты: таблица с автоинкрементным id и задвоенными строками. Как корректно их удалить?
  2. Оператор-контроль: 10М+ записей операций. Оператор не может выполнить следующую операцию без контроля предыдущей. Заполнить таблицу контроля (tOper, tControl).
  3. Шардированные счета: Accounts_01, Accounts_02, Accounts_03 (по банкам). View Accounts объединяет, > 1 млрд записей. Написать функцию поиска счетов клиента по банку, ФИО, дате рождения.
  4. Индексы для оптимизации JOIN Accounts_01 ON Accounts_02 by FIO+dBirth WHERE FIO=... AND dBirth=... AND LEFT(account, 3) != '408'.
  5. Объединение DR: Clients_1, Clients_2, ID привязаны к одному клиенту. Сводный запрос с DR из любой не-пустой таблицы.
  6. Большая выборка: 50М клиентов, 200М счетов, 1млрд операций. Запрос: сумма операций конкретного клиента за июнь 2020.
  7. Импорт CSV 20Гб в Postgres из Python.

Хочешь увидеть разбор?

Зарегистрируйся бесплатно — откроется развёрнутое решение этой задачи и ещё 4 на выбор.

Зарегистрироваться и увидеть разбор
Уже есть аккаунт? Войти