SQL, базы данных, индексы, ORM и миграции

SQL, базы данных, индексы, ORM и миграции


1. На счету пользователя 1000 р. Первая транзакция: читает 1000 на счету, пытается снять 1000. Вторая транзакция тоже читает 1000, хочет снять еще 500 р. По результату уходим в минус. Как обойти ситуацию? -Если хотим решить ситуацию, но оставить уровень транзакции READ COMMITED?

2. Какой уровень изоляции выбрать, что бы при бронировании билета другие транзакции не могли его забронировать?

3. Что использовать для идентификации записи кроме id?

4. Поля в таблице договоров id, номер договора, дата начала, дата завершения: что является суррогатным ключом, а что натуральным?

5. Как быстро оценить количество строк в большой таблице PostgreSQL?

6. Нормальная ли таблица user с полями id - department manager - name

7. Как реализовать пакетную загрузку файлов с откатом при ошибке?

8. Почему после пересоздания B-Tree индекса выборка из таблицы могла стать быстрее?

9. Как загрузить файл на 1.5 миллиона строк в пустую таблицу PostgreSQL?

10. Что делать, если при загрузке последнего batch база данных начинает тормозить?

11. Сколько строк вернёт INNER JOIN, LEFT JOIN или FULL OUTHER JOIN если только часть записей из одной таблицы ссылается на другую?

12. Какое архитектурное решение использовать, если отчёт по продажам сильно нагружает основную БД?