![]() |
|
Модераторы: Akella |
![]()
|
|
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
Приветствую вас, о, свободная стая
Есть 2 таблицы, мастер и деталь (накладная: шапка + тело), в детальной есть поле количество, нужно сумму количества вывести в поле мастер-таблицы, ну так, сказать, в шапку накладной, чтобы не открывая полностью накладную, можно было видеть количество единиц товара. Вопрос в том, что лучше относительно производительности при последующей выборке: 1. Создать в мастер таблице вычисляемое поле, которое будет показывать сумму поля Количество; 2. Создать в мастер таблице обычное поле, и при записи/перезаписи детальной таблицы соответственно переписывать значение в мастер таблице. В первом случае кода меньше, но серверу прийдётся читать две таблицы по любому. Во втором случае кода больше и мороки больше и на сервере и на клиенте, зато серверу нужно будет читать детальную таблицу только когда открывается какая-либо накладная. Что посоветуете? |
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
А что чаще происходит?
Чтение накладных или их изменение? -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
не происходит, а будет происходить, думаю, что чтение, т.к. для того, чтобы записать - нужно для начала прочитать
|
|||
|
||||
| Fortop |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2200 Регистрация: 13.11.2007 Где: Донецк Репутация: нет Всего: 42 |
Тогда в чем сомнения? Я не думаю, что вычисляемое поле будет быстрее чтения уже записанного значения. Максимум они будут равны по скорости Впрочем, это можно проверить на тестовой табличке -------------------- Мир это Я. Живее всех живых. |
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
Akella, а что будет чаще чтение только шапки или шапки + тела?
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| Akella |
|
|||
![]() Творец ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 18485 Регистрация: 14.5.2003 Где: Корусант Репутация: 20 Всего: 329 |
конечно же шапки
|
|||
|
||||
| Deniz |
|
|||
|
Эксперт ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 1251 Регистрация: 16.10.2004 Где: Новый Уренгой Репутация: 22 Всего: 44 |
-------------------- "Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с) |
|||
|
||||
| Esperito |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 147 Регистрация: 2.9.2007 Репутация: нет Всего: 3 |
Я тоже писал подобный проект (накладные, учёт и т.п.), использовал второй вариант. Думаю, что в первом варианте при каждом показе списка шапок накладных нужно будет достаточно много пересчитывать, а этого можно избежать.
|
|||
|
||||
![]()
|
| Правила форума "Interbase" | |
|
|
Обязательно указание: 1. Версию InterBase (Firebird, Yaffil) 2. Способа доступа (ADO, BDE, IBX и т.д.)
Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Firebird, Interbase | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |