powered by simpleCommunicator - 2.0.51     © 2025 Programmizd 02
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Быстродействие заполнения DW
6 сообщений из 6, страница 1 из 1
Быстродействие заполнения DW
    #36580358
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Надо создать в БД таблицу характеристик товара. Значение 1-й характеристики может быть 0 либо 1 (как флаг наличия). Количество - пока 10. Товара уже более 1000.
Данные будут выводится в DW-Grid, где каждая характеристика должна быть как отдельный столбец.

Как лучше это организовать с точки зрения быстродействия и перегрузки памяти?
1. В БД иметь отдельный столбец на каждую характеристику и просто втягивать в DW.
2. В БД иметь один столбец в виде "0100110101"(например), втягивать значение в DW и в нем же дробить его по столбцам (в SQL либо уже в столбцах DW скриптом).
...
Рейтинг: 0 / 0
Быстродействие заполнения DW
    #36580448
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISНадо создать в БД таблицу характеристик товара. Значение 1-й характеристики может быть 0 либо 1 (как флаг наличия). Количество - пока 10. Товара уже более 1000.
Преамбула:
ИМХО, на таких объемах можно вообще не заморачиваться на оптимизации

Теперь амбула :)AISДанные будут выводится в DW-Grid, где каждая характеристика должна быть как отдельный столбец.Какова цель подобной структуры? Почему не отношение многие ко многим?

AISКак лучше это организовать с точки зрения быстродействия и перегрузки памяти?
1. В БД иметь отдельный столбец на каждую характеристику и просто втягивать в DW.
2. В БД иметь один столбец в виде "0100110101"(например), втягивать значение в DW и в нем же дробить его по столбцам (в SQL либо уже в столбцах DW скриптом).Просто втягивать. Опять-таки, ИМХО, экономить байты на самодокументируемости проекта - самое последнее дело.

PS:Если не затруднит, расскажите, что на самом деле надо сделать.
...
Рейтинг: 0 / 0
Быстродействие заполнения DW
    #36580943
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99...Если не затруднит, расскажите, что на самом деле надо сделать.
Надо чтобы в DW-Grid было типа так:
Наименование\Разрешён к применениюПром.С/ХАвиа...Домпрепарат1010...1..................препарат2110...0
и чтобы потом как в Excel-е по столбцам фильтровать, сортировать и т.д.
PL99...Почему не отношение многие ко многим?
Думал про это и показалось, что если вывести "характеристики" в отдельную таблицу и добавить ещё таблицу связей, то для результирующего DW-Grid это только будет тормозить.
...
Рейтинг: 0 / 0
Быстродействие заполнения DW
    #36581077
Фотография PL99
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
AISНадо чтобы в DW-Grid было типа так:
Наименование\Разрешён к применениюПром.С/ХАвиа...Домпрепарат1010...1..................препарат2110...0Это очень похоже на crosstab, isn't it? ;-)AISи чтобы потом как в Excel-е по столбцам фильтровать, сортировать и т.д.Редактировать надо или нет?AIS...показалось, что если вывести "характеристики" в отдельную таблицу и добавить ещё таблицу связей, то для результирующего DW-Grid это только будет тормозить.Вероятно, будет чуть медленнее, чем плоская таблица, но, полагаю, это будет довольно трудно заметить. Я правильно понимаю, что новые характеристики возникают чуть реже, чем никогда? В противном случае Вам придется переделывать как структуру БД, так и клиентское приложение.
...
Рейтинг: 0 / 0
Быстродействие заполнения DW
    #36581543
AIS
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PL99...Редактировать надо или нет?
Редактировать надо, но в отдельном окне ввиде "карточки препарата" со всей другой инфой про него.
Но не исключаю, что потом захотят и в этой таблице, а тогда для обновления конечно проще чтобы всё было в одной таблице. Хотя наличие пустых ячеек в таблице (БД) неоправдано увеличивает её.
PL99Вероятно, будет чуть медленнее, чем плоская таблица, но, полагаю, это будет довольно трудно заметить. Я правильно понимаю, что новые характеристики возникают чуть реже, чем никогда? В противном случае Вам придется переделывать как структуру БД, так и клиентское приложение.
Новые "характеристики" не планируються, т.к. их перечень давно остается без изменений. Но если что-то и добавят, то полюбому надо будет в БД добавить столбец либо строку, и в клиенском приложении что-то менять. Думаю, что этого не избежать.
...
Рейтинг: 0 / 0
Быстродействие заполнения DW
    #36581583
Сваливать в один столбец не надо - мало ли какие типы значений кроме 0/1
захочется записать да и непонятно все это будет


1) Дешево и сердито
Делайте загружаемое из базы DW ( dw.Create(syntax) ) и таблицу с нужным кол-вом столбцов
если надо что-то добавить правите таблицу и DW

КЛИЕНТСКУЮ ЧАСТЬ ПРИ ДОБАВЛЕНИИ ХАРАКТЕРИСТИК ПРАВИТЬ НЕ НАДО!


2) Если надо это делать без программиста то можно сделать прямо в приложении простенький интерфейс для добавления столбцов в базу и DW

----------------------------------------
Все будет летать пока кол-во ячеек в dw до ~ 100 000 -1 000 000 - дальше начнет
притормаживать при записи в ячейку и понадобиться ограничить кол-во строк для единовременного чтения (нафига читать все товары сразу - читайте то что нужно!).
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / PowerBuilder [игнор отключен] [закрыт для гостей] / Быстродействие заполнения DW
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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