|
0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 3
|
|
Секционирование02.03.2021, 15:35. Показов 1504. Ответов 4
Метки нет (Все метки)
Всем привет! Помогите решить такую задачу!
Есть таблица заказов клиентов, которую хочу секционировать, но по "хитрому". Чтобы была одна секция в которую всегда был insert по-умолчанию, а по мере "старения" данных, перемещать их вручную в "архивные" секции. Объясню зачем так: Мне удобней написать SELECT ONLY FROM, чтобы получить "живые" данные, а для получения данных из архива просто SELECT FROM. С декларативным описанием Postgres 12 не могу получить такую структуру таблицы (и соответственно всех ее подчиненных). А если идти через INHERITS, то писать доп. триггеры не очень хочется. P.S> Сейчас сделано через схемы: 2014-год,2015-год... и чтобы выбрать данные по всей базе (шеф просит) нужно писать через union Заранее спасибо!
0
|
|
| 02.03.2021, 15:35 | |
|
Ответы с готовыми решениями:
4
Разбиение (секционирование) в PostgreSQL Секционирование таблицы по году совершения сделки Полный бэкап MySQL с ежедневными партициями (секционирование по дням) |
|
1267 / 980 / 385
Регистрация: 02.09.2012
Сообщений: 3,027
|
|
| 04.03.2021, 09:43 | |
|
Мне видится, что при таком желании только вручную делать.
Для стандартного декларативного подхода так не полчится сделать. Хотя не очень ясно желание в принципе разделять запросы. Пишите одинаково, а уже в какую партицию попадет - это база сама решит. В этом собственно и смысл.
0
|
|
|
0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 3
|
|
| 04.03.2021, 09:48 [ТС] | |
|
Спасибо! Уже помогли найти решение.
Вручную - не так страшно, как ждать .... ответа от сервера ![]() Я просто приучил своих пользователей мгновенной реакции программы на их действия и они теперь при малейшей задержке все бегут ко мне. А я устал отвечать - база пухнет и т.д.
0
|
|
|
0 / 0 / 0
Регистрация: 22.03.2017
Сообщений: 4
|
|
| 05.03.2021, 06:13 | |
|
Если не затруднит, опубликуйте тут решение.
Чтоб помочь другим людям в решении их проблем.
0
|
|
|
0 / 0 / 0
Регистрация: 10.05.2018
Сообщений: 3
|
||||||||||||||||
| 05.03.2021, 09:38 [ТС] | ||||||||||||||||
|
Без проблем! И так моя задача (для меня) была такой.
Исходные данные: - Есть заказы клиентов (таблица) - Есть продукты заказов (таблица) - Есть материалы продуктов (таблица) - Есть операции над материалами (таблица) - Есть характеристики (параметры) продуктов (таблица) - "пухнут" как и у всех ![]() Желания: - Разделить заказы на "живые" и "архивные" - Доступ к данным через один и тот же запрос - Скорость выборки-отклика программы - Использовать минимальное количество телодвижений при дальнейшем обслуживании - Индексы это хорошо, но маленькие индексы - лучше (опять таки - для меня!) - Я сам должен решать когда "живые" данные становятся "архивными". - При добавлении новых полей, они должны быть и в архиве для отработки одних и тех же запросов P.S. Приучил своих пользователей к комфортной работе. А теперь при малейших задержках - бегут и кричат тормозит!! ![]() Решение: - Использовал декларативное объявление таблиц. (
- Создал все таблицы и разбил на 2 уровня вложенности. Первый уровень: года - 2010, 2011, ... Второй уровень: ID (от 1..10, 11..20, ....) - Для "живых" данных использую год 2000, для остальных - реальный. - Вставка данных с учетом разбиения идет автоматом, благодаря самому Postgres. - Внешние ключи с версии 12 теперь можно подключать к конкретным секциям, т.е. целостность БД сохраняется. - Индексы уменьшились - Очень старые данные можно отключать (использовать не буду, т.к. шеф у меня любит статистику )- Во всех запросах (по-тихоньку и где нужно) пропишу дополнительное условие:
Как-то так! Я не претендую ни на что, я лишь рассказал какое решение меня устроило. Спасибо!
0
|
||||||||||||||||
| 05.03.2021, 09:38 | |
|
Помогаю со студенческими работами здесь
5
СЕКЦИОНИРОВАНИЕ Секционирование таблиц Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |
|
| Опции темы | |
|
|
Новые блоги и статьи
|
|||
|
Отчёт о затраченных материалах за определенный период с макетом печатной формы
Maks 21.04.2026
Отчёт из решения ниже размещён в конфигурации КА2.
Задача: показать затраченные материалы за определённый период, с возможностью вывода печатной формы отчёта с шапкой и подвалом.
В качестве. . .
|
Отчёт о спецтехнике находящейся в ремонте
Maks 20.04.2026
Отчёт из решения ниже размещен в конфигурации КА2.
Задача: отобразить спецтехнику, которая на данный момент находится в ремонте.
Есть нетиповой документ "Заявка на ремонт спецтехники" который. . .
|
Памятка для бота и "визитка" для читателей "Semantic Universe Layer (Слой семантической вселенной)"
Hrethgir 19.04.2026
Сгенерировано для краткого описания по случаю сборки и компиляции скелета серверного приложения. И пусть после этого скажут, что статьи сгенерированные AI - туфта и не интересно. И это не реклама -. . .
|
Запрет удаления строк ТЧ документа при определённом условии
Maks 19.04.2026
Алгоритм из решения ниже реализован на примере нетипового документа "Аккумуляторы", разработанного в конфигурации КА2. У данного документа есть ТЧ, в которой в зависимости от прав доступа. . .
|
|
Модель заражения группы наркоманов
alhaos 17.04.2026
Условия задачи сформулированы тут
Суть:
- Группа наркоманов из 10 человек.
- Только один инфицирован ВИЧ.
- Колются одной иглой.
- Колются раз в день.
- Колются последовательно через. . .
|
Мысли в слух. Про "навсегда".
kumehtar 16.04.2026
Подумалось тут, что наверное очень глупо использовать во всяких своих установках понятие "навсегда". Это очень сильное понятие, и я только начинаю понимать край его смысла, не смотря на то что давно. . .
|
My Business CRM
MaGz GoLd 16.04.2026
Всем привет, недавно возникла потребность создать CRM, для личных нужд. Собственно программа предоставляет из себя базу данных клиентов, в которой можно фиксировать звонки, стадии сделки, а также. . .
|
Знаешь почему 90% людей редко бывают счастливыми?
kumehtar 14.04.2026
Потому что они ждут. Ждут выходных, ждут отпуска, ждут удачного момента. . .
а удачный момент так и не приходит.
|