Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Обычное поле VS вычислемое, при чтении 
:(
    Опции темы
Akella
  Дата 19.4.2008, 21:54 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



Приветствую вас, о, свободная стая smile 

Есть 2 таблицы, мастер и деталь (накладная: шапка + тело), в детальной есть поле количество, нужно сумму количества вывести в поле мастер-таблицы, ну так, сказать, в шапку накладной, чтобы не открывая полностью накладную, можно было видеть количество единиц товара.
Вопрос в том, что лучше относительно производительности при последующей выборке:
1. Создать в мастер таблице вычисляемое поле, которое будет показывать сумму поля Количество;
2. Создать в мастер таблице обычное поле, и при записи/перезаписи детальной таблицы соответственно переписывать значение в мастер таблице.


В первом случае кода меньше, но серверу прийдётся читать две таблицы по любому. Во втором случае кода больше и мороки больше и на сервере и на клиенте, зато серверу нужно будет читать детальную таблицу только когда открывается какая-либо накладная.

Что посоветуете? smile 
PM MAIL   Вверх
Fortop
Дата 19.4.2008, 23:52 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



А что чаще происходит? smile
Чтение накладных или их изменение?


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Akella
Дата 20.4.2008, 00:34 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



не происходит, а будет происходить, думаю, что чтение, т.к. для того, чтобы записать - нужно для начала прочитать smile 
PM MAIL   Вверх
Fortop
Дата 20.4.2008, 02:09 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
****


Профиль
Группа: Завсегдатай
Сообщений: 2200
Регистрация: 13.11.2007
Где: Донецк

Репутация: нет
Всего: 42



Цитата(Akella @  19.4.2008,  21:54 Найти цитируемый пост)
Вопрос в том, что лучше относительно производительности при последующей выборке:

Тогда в чем сомнения?
Я не думаю, что вычисляемое поле будет быстрее чтения уже записанного значения.
Максимум они будут равны по скорости smile

Впрочем, это можно проверить на тестовой табличке


--------------------
Мир это Я.
Живее всех живых.
PM MAIL   Вверх
Deniz
Дата 21.4.2008, 07:01 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Akella, а что будет чаще чтение только шапки или шапки + тела?


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Akella
Дата 21.4.2008, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Творец
****


Профиль
Группа: Модератор
Сообщений: 18485
Регистрация: 14.5.2003
Где: Корусант

Репутация: 20
Всего: 329



конечно же шапки
PM MAIL   Вверх
Deniz
Дата 21.4.2008, 13:26 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Завсегдатай
Сообщений: 1251
Регистрация: 16.10.2004
Где: Новый Уренгой

Репутация: 22
Всего: 44



Цитата(Akella @  21.4.2008,  11:04 Найти цитируемый пост)
конечно же шапки 
я думаю лучше второй вариант.


--------------------
"Для того чтобы сделать шаг вперед, достаточно пинка сзади" (с)
PM ICQ   Вверх
Esperito
Дата 21.4.2008, 18:45 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 147
Регистрация: 2.9.2007

Репутация: нет
Всего: 3



Я тоже писал подобный проект (накладные, учёт и т.п.), использовал второй вариант. Думаю, что в первом варианте при каждом показе списка шапок накладных нужно будет достаточно много пересчитывать, а этого можно избежать.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0469 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.