powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Хранение исторических и актуальных данных
7 сообщений из 7, страница 1 из 1
Хранение исторических и актуальных данных
    #39977395
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день Товарищи!

Подскажите пожалуйста, есть ли смысл такой подход к решению хранения данных такого рода:

1. Есть сущность, и у этой сущности могут быть мероприятия.

И в запросах к этой сущности необходимо получать информацию о текущем (-их) мероприятиях, но в то же время иметь при необходимости получать список всей истории мероприятий у Сущности.

Так вот стоит ли делать 2 таблицы:
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
TABLE entity_event ( //Таблица для получения актуальных мероприятий
       id SERIAL,
 entityID BIGINT FK => entity(id),
  eventID BIGINT FK => events(id)
) 

TABLE entity_event_arc ( //Таблица для хранения всей истории мероприятий
       id SERIAL,
 entityID BIGINT FK => entity(id),
  eventID BIGINT FK => events(id)
)

TRIGGER ON entity_event ON ADD (
     INSERT TO entity_event_arc (NEW.id, NEW.entityID, NEW.eventID);
)



Смотрю для того, чтобы при частых запросах обращаться к маленькой таблице, в которой прошедшие элементы удаляются. У зависимых таблиц если связь, то на entity_event_arc.

Какие минусы, проблемы или это вообще гон? :)
...
Рейтинг: 0 / 0
Хранение исторических и актуальных данных
    #39977485
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Две таблицы - однозначно фигня. Просто партиционируешь по полю завершённости, и при необходимости работать с актуальными данными хинтишь работу с одной партицией.
...
Рейтинг: 0 / 0
Хранение исторических и актуальных данных
    #39977592
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Жоско выглядит, сегодня опробую это непонятное партиционирование.
Спасибо!

Т.е. если условно есть поле isActive - то даже не смотря на то, что кол-во значений с isActive=0 будет стремиться к преобладанию, над isActive=1 - один фиг партиционирование стоит в таком случае использовать?

А принципиальное отличие от индекса по этому полю есть?
...
Рейтинг: 0 / 0
Хранение исторических и актуальных данных
    #39977595
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Блин, только месяц назад сдал заказчику отчётную хрень, где масса данных по периодам учитывается. Всё красиво, устойчиво и быстро работает, но почитав сейчас про это партиционирование сразу понял как это надо было с его помощью написать шибче :)

Век живи - век учись!
...
Рейтинг: 0 / 0
Хранение исторических и актуальных данных
    #39977603
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Только сразу ложечка дёгтя выяснилась:
авторForeign key clause is not yet supported in conjunction with partitioning

MariaDB 10.4.7

Это принципиальная невозможность иметь в таблице партиционирование и FK, или может быть реализовано когда-то потом?
...
Рейтинг: 0 / 0
Хранение исторических и актуальных данных
    #39977653
Фотография Akina
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kormot
Это принципиальная невозможность иметь в таблице партиционирование и FK, или может быть реализовано когда-то потом?
Да кто ж их знает... хотя, если вдуматься - не самая критичная штука, так что я бы не надеялся.

К тому же я как-то привык к серверной логике - всё через хранимые процедуры. И никакого прямого доступа к данным. А в этих условиях можно и кодом проверить целостность.
...
Рейтинг: 0 / 0
Хранение исторических и актуальных данных
    #39977703
kormot
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Akina,

Нет, я всё что является FK-ом - так и расписываю. В самом приложении тоже конечно проверка данных есть на корректность, но всё таки FK у меня обязательны.
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / MySQL [игнор отключен] [закрыт для гостей] / Хранение исторических и актуальных данных
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]