powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вечный вопрос: одна большая или много маленьких?
10 сообщений из 10, страница 1 из 1
Вечный вопрос: одна большая или много маленьких?
    #33666288
CollarWhiteBlue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Вопрос ко всем гуру проектирования.

Есть таблица простой структуры (ИДшник; значение), но с огромным количеством записей (миллионы записей). Имеет ли смысл (с т.зр. производительности) разбить ее на несколько мелких таблиц такой же структуры?

З.Ы. Задача возникла из классического желания описать в БД метаструктуру прикладной схемы данных, которая "в горячую" может редактироваться в пользовательской системе (т.е. юзер может создавать свои поля - без перегенерации прикладной БД). Т.е. рассматриваемая таблица - это просто набор значений свойств объектов этой прикладной схемы данных. Насколько физибл (т.е. "живуче", если по-русски) такое решение с т.зр. производительности? Или более разумен подход, когда - при возникновении необходимости изменения прикладной схемы данных - просто перегенерировать эту схему (+ соответствующий ГУИ) и использовать ее в эксплуатационном режиме как "неизменяемую"?
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33666417
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CollarWhiteBlueИмеет ли смысл (с т.зр. производительности) разбить ее на несколько мелких таблиц такой же структуры?
Нет, не имеет. Но может иметь.

CollarWhiteBlueЗ.Ы. Задача возникла из классического желания описать в БД метаструктуру прикладной схемы данных, которая "в горячую" может редактироваться в пользовательской системе (т.е. юзер может создавать свои поля - без перегенерации прикладной БД).
А вот от этого желания намного лучше было бы отказаться. Лучше дать пользователю возможность генерить свои таблицы - и особенно лучше с точки зрения производительности.
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33666471
LSV
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Смысл есть, но для этого нужны уважительные причины. Например заведома старые ненужные записи. Нужда может появиться 1раз в год ("разбор полётов"). Зачем их хранить в базе ? Однако полезно при этом иметь механизм восстановления из архива в рабочую таблицу.
Вопрос "горячей" перестройки структуры таблиц - это настоящий экстрим ! Не стоит этим увлекаться.
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33666518
CollarWhiteBlue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LSVВопрос "горячей" перестройки структуры таблиц - это настоящий экстрим ! Не стоит этим увлекаться.

Пардон, видимо, не совсем ясно выразился.

Под "горячей" перестройкой имел в виду перестройку прикладной (юзерской) "схемы данных", по другому - "информационной модели", т.е. того представления данных, с которым работает юзер. Т.е. этой схемы данных может и не существовать в виде реальной БД! Она существует как схема данных юзерского приложения, т.е. представляет собой некий "источник данных", не завязанный жестко на реальную БД. Т.е. это вирутальный "источник данных".
Юзер обычео не должен даже знать реальной структуры "мета"-БД, во всяком случае, не имеет никаких средств для доступа к этой структуре - кроме, мб, адванс-юзера, т.е. администратора прикладной "информационной модели".
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33667330
CollarWhiteBlue
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Больше никаких ремарок нет?
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33667821
Кот Матроскин
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
автор
Имеет ли смысл (с т.зр. производительности) разбить ее на несколько мелких таблиц такой же структуры?

Это называется "горизонтальное секционирование". Один из путей повышения проиводительности, рекомендуемый в учебниках.
Дает хорошие результаты, если улается разделить таблицу таким образом, чтобы типичный запрос обращался только к одной из частей ( например, актуальная и архивная информация, хотя возможны и другие схемы).
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33668264
Фотография Cat2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Модератор форума
Если по таблице не делаются агрегатные вопросы "от сотворения мира", т.е, к примеру, текущие остатки не считаются как сумма приходов и расходов за все время существования базы, то в разделении на разные таблицы нет смысла.
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33668311
Фотография Dogen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Если по таблице не делаются агрегатные вопросы "от сотворения мира", т.е, к примеру, текущие остатки не считаются как сумма приходов и расходов за все время существования базы, то в разделении на разные таблицы нет смысла.Ниасилил. Если поделить на части, то придется ввести таблицу остатков? Или запросы к "старым" партициям закэшируются? Стоит ли на это рассчитывать?..
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33668696
Фотография softwarer
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Cat2Если по таблице не делаются агрегатные вопросы "от сотворения мира", т.е, к примеру, текущие остатки не считаются как сумма приходов и расходов за все время существования базы, то в разделении на разные таблицы нет смысла.
Не совсем так. Могут быть особые случаи - скажем, сколь я помню, в Clipper была ограничена максимальная глубина b-дерева в индексах, и из-за этого при превышении количеством записей некоторого лимита индексы начинали резко терять в эффективности. Но я безусловно согласен с тем, что не стоит так делать, пока нет этого самого особого случая.
...
Рейтинг: 0 / 0
Вечный вопрос: одна большая или много маленьких?
    #33669147
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
CollarWhiteBlueЕсть таблица простой структуры (ИДшник; значение), но с огромным количеством записей (миллионы записей). Имеет ли смысл (с т.зр. производительности) разбить ее на несколько мелких таблиц такой же структуры?


Нет.

Насколько решение живуче - живуче с точки зрения производительности - да, вполне, если руки правильно заточены и голова.

Но там другие проблемы - нереляционная структура получается, обрабатывать ее реляционными операциями сложно . Более накладно по производительности и менее удобно.
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вечный вопрос: одна большая или много маленьких?
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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