powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вынос описаний в отдельную таблицу
6 сообщений из 6, страница 1 из 1
Вынос описаний в отдельную таблицу
    #35660472
MGR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Коллеги. Подумалось (чиста теоретический вопрос) - насколько целесообразно длинные описания выводить в отдельную общую таблицу?
Сейчас вот у некоторых клиентов в таблице Customer 300-500 тыщ записей.
Табличка используется активно (много полей, от которых зависит движение ордеров, скидки, виды оплаты и т.п.) во время процессинга.
Размер записей - около 1600 байт. Однако из них около 1000 занимают длинные описания.
Аналогично - таблица Vendor (там правда меньше записей).
Или Inventory (там тоже много описательных полей)

Конечно, эти поля не на 100% заполнены, может только вот Inventory заполнены на 60-80%, в случае Customer - дай бог если на 40%.

Вот и подумалось, а нельзя ли поля типа Description, Name, LongName, etc. которые реально нужны в основном в отчётах да экранах ввода, перенести в отдельную табличку. Общую для всех сущностей.
В системе уже есть подобная табличка, но она хранит блобы с длинным текстом. А вот если сделать универсальную таблицу для описаний?
Типа
Код: plaintext
1.
2.
3.
4.
5.
6.
7.
8.
create table Names (
   ID   Integer Identity( 1 , 1 ),
   Name  varchar( 128 ),
   Name0 varchar( 128 ),
   Name1 varchar( 128 ),
   Name2 varchar( 128 ),
   Name3 varchar( 128 )
...

Никто не пробовал подобное?
...
Рейтинг: 0 / 0
Вынос описаний в отдельную таблицу
    #35661603
Фотография MasterZiv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MGR пишет:

> Вот и подумалось, а нельзя ли поля типа Description, Name, LongName,
> etc. которые реально нужны в основном в отчётах да экранах ввода,
> перенести в отдельную табличку. Общую для всех сущностей.

Имеет ли смысл это делать - зависит от СУБД и типов полей.
В некоторых СУБД поля типа TEXT храняться отдельно от
основных записей. Если такого нет, и записи длинные, то
почему бы и нет.
Posted via ActualForum NNTP Server 1.4
...
Рейтинг: 0 / 0
Вынос описаний в отдельную таблицу
    #35661884
Фотография Mr Marmelad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
MGR
Никто не пробовал подобное?

Есть плюсы и минусы в любом из предложенных вариантов. Обычно - традиционно мы храним полную информацию о клиенте в одной - Головной табличке БЕЗ никаких БЛОБов - обычно очень трудно выписывать данные из нее. Блобы вынесены в сторону и порой даже физически в ином месте. Вариации данных клиента разнесены в детали. вариант предложенный по именам - тоже имеет место для случая статистических отчётностей. Например сколько Вась и Петь народилось с такого то по такое то. Обратите внимание что денормализовав один аттрибут сущности в несколько полей вам теперь надо подобрать какие нибудь резоны поискового механизма по ним. Или постоянно заботиться о наличии или отсутсвии данных в Name1, Name2.... Надо ли оно вам - решеть даже не Вам, коллега а бизнесу. Я так думаю...
...
Рейтинг: 0 / 0
Вынос описаний в отдельную таблицу
    #35662546
Фотография А6дуллаh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В SAP тексты очень часто выносятся.
...
Рейтинг: 0 / 0
Вынос описаний в отдельную таблицу
    #35662849
MGR
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Не, вопрос не в выносе блобов/текстов.
А в выносе варчаров.

Табличка Customer "похудеет" в полтора раза, а Inventory в два раза.
Первая часто используется в процессинге.
...
Рейтинг: 0 / 0
Вынос описаний в отдельную таблицу
    #35662881
tru55
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Я думаю, все зависит от того, как читаются данные.
Если строки без описаний читаются часто, то возможно смысл есть. Если нет, то надо учесть, что при чтении одной строки "без выноса" достаточно прочесть с диска один блок, а "с выносом" - два. Если достаточно часто используется FULL SCAN, то возможно особой разницы и не будет - надо проверить...
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Проектирование БД [игнор отключен] [закрыт для гостей] / Вынос описаний в отдельную таблицу
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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