Показать сообщение отдельно
Старый 28.06.2005, 12:26   #7  
SVG is offline
SVG
Участник
 
201 / 10 (1) +
Регистрация: 15.11.2004
Константин!
1. Я не SWG, а SVG
2. Вы путаете SIFT и FlowFields - это совершенно разные вещи.
SIFT - это технология суммовых индексов - это как раз служебные структуры, хранящие готовые суммы по выбранным группирующим полям. Штука довольно вредная, и сделанная довольно топорно - галки "создать SQL индекс" и "Создать SIFT" по умолчанию стоят - это очень печально. Пользоваться суммовыми индексами надо крайне аккуратно и очень четко представляя себе что и как. Иначе будет один вред.
Но при грамотном подходе к построению сифтов можно получить некий прирост скорости некоторых операций.
А собственно к FlowFields сифты имеют весьма отдаленное отношение, весьма.

Как я уже сказал, FlowFields - это просто заранее определенный запрос - типа посчитать остаток на складе - поле Item.Inventory.
Для работы этого поля в таблице Item Ledger Entry должен быть ключ, содержащий поля, по которым выполняется запрос - дата, код склада, код ячейки и проч. По этому ключу может быть (но не должен) построен SQL индекс и\или SIFT.
Собственно ключи можно создавать не только под вычисляемые поля, но для любых суммирующих операций, или просто для выборки строк из таблицы.