Расскажу о преимуществах использования типа данных диапазон. Сначала спроектируем структуру базы для хранения коэффициента возраст-стаж, при расчете стоимости полиса ОСАГО, на привычных типах. Затем перепроектируем под PostgreSQL и посмотрим, как выглядят sql запросы в обоих случаях. В финале сравним, какие преимущества дает нам использование диапазонов и в каких случая его стоит использовать.
Материалы:
- презентация:
- репозиторий с базой данных в docker:
- текстовая расшифровка доклада, статья на Хабре:
Таймкоды:
00:00 Вступление.
02:35 Описание схемы именования таблиц.
03:05 Что такое коэффициент Возраст-Стаж (КВС).
03:40 Ограничение предметной области.
04:39 Схема A: Одна таблица.
06:17 Схема B: Три таблицы.
08:56 Схема C: Тип int4range, диапазоны.
12:05 Схема D: Тип box, бонус трек с геометрией.
15:51 Сравнение вариантов.
17:32 Рекомендация по использованию приведенных схем.
19:56 Вопрос-шутка: схема D с box это специально усложенная схема?
20:35 Вопрос: Есть ли аналоги int4range в других РСУБД?
21:18 Вопрос: ORM понимают int4range?
21:50 Вопрос: Какая производительность при использовании int4range?
22:45 Вопрос: А почему бы для данной задачи не использовать JSON?
23:40 Вопрос: зачем вообще хранить КСВ в базе?
2 views
1404
414
2 years ago 00:26:14 2
Postgresql диапазонный тип данных для КВС
2 years ago 00:21:01 5
SQL для начинающих: Индексы в PostgreSQL # Виды индексов SQL # EXPLAIN, ANALYZE
2 years ago 00:11:57 6
05 - SQL запросы для выборки данных. Часть 2 - Уроки PostgreSQL