|
|
|
Вынос описаний в отдельную таблицу
|
|||
|---|---|---|---|
|
#18+
Коллеги. Подумалось (чиста теоретический вопрос) - насколько целесообразно длинные описания выводить в отдельную общую таблицу? Сейчас вот у некоторых клиентов в таблице 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. Никто не пробовал подобное? ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 13:58:33 |
|
||
|
Вынос описаний в отдельную таблицу
|
|||
|---|---|---|---|
|
#18+
MGR пишет: > Вот и подумалось, а нельзя ли поля типа Description, Name, LongName, > etc. которые реально нужны в основном в отчётах да экранах ввода, > перенести в отдельную табличку. Общую для всех сущностей. Имеет ли смысл это делать - зависит от СУБД и типов полей. В некоторых СУБД поля типа TEXT храняться отдельно от основных записей. Если такого нет, и записи длинные, то почему бы и нет. Posted via ActualForum NNTP Server 1.4 ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 19:24:14 |
|
||
|
Вынос описаний в отдельную таблицу
|
|||
|---|---|---|---|
|
#18+
MGR Никто не пробовал подобное? Есть плюсы и минусы в любом из предложенных вариантов. Обычно - традиционно мы храним полную информацию о клиенте в одной - Головной табличке БЕЗ никаких БЛОБов - обычно очень трудно выписывать данные из нее. Блобы вынесены в сторону и порой даже физически в ином месте. Вариации данных клиента разнесены в детали. вариант предложенный по именам - тоже имеет место для случая статистических отчётностей. Например сколько Вась и Петь народилось с такого то по такое то. Обратите внимание что денормализовав один аттрибут сущности в несколько полей вам теперь надо подобрать какие нибудь резоны поискового механизма по ним. Или постоянно заботиться о наличии или отсутсвии данных в Name1, Name2.... Надо ли оно вам - решеть даже не Вам, коллега а бизнесу. Я так думаю... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 18.11.2008, 22:50:01 |
|
||
|
Вынос описаний в отдельную таблицу
|
|||
|---|---|---|---|
|
#18+
В SAP тексты очень часто выносятся. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 10:39:07 |
|
||
|
Вынос описаний в отдельную таблицу
|
|||
|---|---|---|---|
|
#18+
Не, вопрос не в выносе блобов/текстов. А в выносе варчаров. Табличка Customer "похудеет" в полтора раза, а Inventory в два раза. Первая часто используется в процессинге. ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 12:04:14 |
|
||
|
Вынос описаний в отдельную таблицу
|
|||
|---|---|---|---|
|
#18+
Я думаю, все зависит от того, как читаются данные. Если строки без описаний читаются часто, то возможно смысл есть. Если нет, то надо учесть, что при чтении одной строки "без выноса" достаточно прочесть с диска один блок, а "с выносом" - два. Если достаточно часто используется FULL SCAN, то возможно особой разницы и не будет - надо проверить... ... |
|||
|
:
Нравится:
Не нравится:
|
|||
| 19.11.2008, 12:10:43 |
|
||
|
|

start [/forum/topic.php?fid=32&msg=35662849&tid=1543561]: |
0ms |
get settings: |
11ms |
get forum list: |
19ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
189ms |
get topic data: |
9ms |
get forum data: |
2ms |
get page messages: |
51ms |
get tp. blocked users: |
1ms |
| others: | 238ms |
| total: | 528ms |

| 0 / 0 |
