|
Быстродействие заполнения DW
|
|||
---|---|---|---|
#18+
Надо создать в БД таблицу характеристик товара. Значение 1-й характеристики может быть 0 либо 1 (как флаг наличия). Количество - пока 10. Товара уже более 1000. Данные будут выводится в DW-Grid, где каждая характеристика должна быть как отдельный столбец. Как лучше это организовать с точки зрения быстродействия и перегрузки памяти? 1. В БД иметь отдельный столбец на каждую характеристику и просто втягивать в DW. 2. В БД иметь один столбец в виде "0100110101"(например), втягивать значение в DW и в нем же дробить его по столбцам (в SQL либо уже в столбцах DW скриптом). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2010, 13:03 |
|
Быстродействие заполнения DW
|
|||
---|---|---|---|
#18+
AISНадо создать в БД таблицу характеристик товара. Значение 1-й характеристики может быть 0 либо 1 (как флаг наличия). Количество - пока 10. Товара уже более 1000. Преамбула: ИМХО, на таких объемах можно вообще не заморачиваться на оптимизации Теперь амбула :)AISДанные будут выводится в DW-Grid, где каждая характеристика должна быть как отдельный столбец.Какова цель подобной структуры? Почему не отношение многие ко многим? AISКак лучше это организовать с точки зрения быстродействия и перегрузки памяти? 1. В БД иметь отдельный столбец на каждую характеристику и просто втягивать в DW. 2. В БД иметь один столбец в виде "0100110101"(например), втягивать значение в DW и в нем же дробить его по столбцам (в SQL либо уже в столбцах DW скриптом).Просто втягивать. Опять-таки, ИМХО, экономить байты на самодокументируемости проекта - самое последнее дело. PS:Если не затруднит, расскажите, что на самом деле надо сделать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2010, 13:32 |
|
Быстродействие заполнения DW
|
|||
---|---|---|---|
#18+
PL99...Если не затруднит, расскажите, что на самом деле надо сделать. Надо чтобы в DW-Grid было типа так: Наименование\Разрешён к применениюПром.С/ХАвиа...Домпрепарат1010...1..................препарат2110...0 и чтобы потом как в Excel-е по столбцам фильтровать, сортировать и т.д. PL99...Почему не отношение многие ко многим? Думал про это и показалось, что если вывести "характеристики" в отдельную таблицу и добавить ещё таблицу связей, то для результирующего DW-Grid это только будет тормозить. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2010, 16:35 |
|
Быстродействие заполнения DW
|
|||
---|---|---|---|
#18+
AISНадо чтобы в DW-Grid было типа так: Наименование\Разрешён к применениюПром.С/ХАвиа...Домпрепарат1010...1..................препарат2110...0Это очень похоже на crosstab, isn't it? ;-)AISи чтобы потом как в Excel-е по столбцам фильтровать, сортировать и т.д.Редактировать надо или нет?AIS...показалось, что если вывести "характеристики" в отдельную таблицу и добавить ещё таблицу связей, то для результирующего DW-Grid это только будет тормозить.Вероятно, будет чуть медленнее, чем плоская таблица, но, полагаю, это будет довольно трудно заметить. Я правильно понимаю, что новые характеристики возникают чуть реже, чем никогда? В противном случае Вам придется переделывать как структуру БД, так и клиентское приложение. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2010, 17:34 |
|
Быстродействие заполнения DW
|
|||
---|---|---|---|
#18+
PL99...Редактировать надо или нет? Редактировать надо, но в отдельном окне ввиде "карточки препарата" со всей другой инфой про него. Но не исключаю, что потом захотят и в этой таблице, а тогда для обновления конечно проще чтобы всё было в одной таблице. Хотя наличие пустых ячеек в таблице (БД) неоправдано увеличивает её. PL99Вероятно, будет чуть медленнее, чем плоская таблица, но, полагаю, это будет довольно трудно заметить. Я правильно понимаю, что новые характеристики возникают чуть реже, чем никогда? В противном случае Вам придется переделывать как структуру БД, так и клиентское приложение. Новые "характеристики" не планируються, т.к. их перечень давно остается без изменений. Но если что-то и добавят, то полюбому надо будет в БД добавить столбец либо строку, и в клиенском приложении что-то менять. Думаю, что этого не избежать. ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2010, 22:55 |
|
Быстродействие заполнения DW
|
|||
---|---|---|---|
#18+
Сваливать в один столбец не надо - мало ли какие типы значений кроме 0/1 захочется записать да и непонятно все это будет 1) Дешево и сердито Делайте загружаемое из базы DW ( dw.Create(syntax) ) и таблицу с нужным кол-вом столбцов если надо что-то добавить правите таблицу и DW КЛИЕНТСКУЮ ЧАСТЬ ПРИ ДОБАВЛЕНИИ ХАРАКТЕРИСТИК ПРАВИТЬ НЕ НАДО! 2) Если надо это делать без программиста то можно сделать прямо в приложении простенький интерфейс для добавления столбцов в базу и DW ---------------------------------------- Все будет летать пока кол-во ячеек в dw до ~ 100 000 -1 000 000 - дальше начнет притормаживать при записи в ячейку и понадобиться ограничить кол-во строк для единовременного чтения (нафига читать все товары сразу - читайте то что нужно!). ... |
|||
:
Нравится:
Не нравится:
|
|||
15.04.2010, 23:52 |
|
|
start [/forum/topic.php?fid=15&fpage=26&tid=1335972]: |
0ms |
get settings: |
9ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
52ms |
get topic data: |
13ms |
get forum data: |
3ms |
get page messages: |
45ms |
get tp. blocked users: |
2ms |
others: | 12ms |
total: | 153ms |
0 / 0 |