28.06.2005, 15:48 | #21 |
Участник
|
Спасибо все ясно.
|
|
28.06.2005, 15:51 | #22 |
Участник
|
Цитата:
Легко (с) будущая актриса
|
|
28.06.2005, 15:57 | #23 |
Участник
|
Вообще люди похихикали над моим "слушать и записывать"
|
|
28.06.2005, 18:33 | #24 |
Участник
|
SVG я все таки с вами не согласна, обязательно проведу эксперимент. Только хотелось бы уточнить-ваше утверждение что SIFT и flowfield разные понятия это для SQL? Или для обычного Навижина тоже?
|
|
28.06.2005, 18:56 | #25 |
Участник
|
Посмотрела даже специально версию 2.0-а там вообще не было галочки sift
- там есть только keys и sumindexfields. И flowfield поле не вычисляется-если нет ключей,состоящих из полей по которым вычисляется. И все таки SIFT-это общее понятие которое включает в себя и flowfield и flowfilter и sumindexfields. А в вашем примере вы просто использовали свойство sumindexfields-оно и будет работать не зависимо от галочки sift. Наверно правильнее будет убрать галочку sift -создать ключ и попробовать создать flowfield поля и посмотреть посчиталась ли сумма (кстати когда не хватало полей в ключе-у меня лично ругалось-что не может подсчитать сумму). После убрать галочку или для чистоты эксперимента-создать новый ключ без галочки, и создать новое flowfield поля и посмотреть результат. И в отчете тогда считать не по calcsums (это св-во считает по полю прописанному в ключе sumindexfields) а по calcfields/ Обязательно попробую. |
|
29.06.2005, 09:37 | #26 |
Участник
|
Цитата:
Сообщение от Галина
SVG я все таки с вами не согласна, обязательно проведу эксперимент. Только хотелось бы уточнить-ваше утверждение что SIFT и flowfield разные понятия это для SQL? Или для обычного Навижина тоже?
А FlowFields - это вычисляемые поля, и считать суммы свои они будут независимо от того, есть SIFT или есть только ключик - причем даже не обязательно чтоб был SQL ключ, достаточно только в Navi создать. В общем, вы попробуйте. Для работы FlowField достаточно просто ключа - без единой галки - без SQL, без SIFT. Точно так же и наоборот - можно создать ключ с SIFT, но при этом не создавать вычисляемое поле, а использовать просто в коде для вычисления некой суммы. В общем, попробуйте. |
|
29.06.2005, 10:01 | #27 |
Участник
|
Я немного уточню по этой теме.
Мне кажется надо различать 3 вещи: - вычисляемые поля (FlowField) - суммовые поля(SumFields) - технологию служебных таблмц для хранения сумм (SIFT) И весь спор свелся к тому, что понятия суммовые поля и SIFT смешивались - что привело к бурной дискуссии To SVG: Первоначальный запрос звучал так: "Если нетрудно приведите примеры использования SIFT без вычисляемых полей, и наоборот." Да, SIFT без выч. полей будет работать - это и так понятно. Обратное тоже верно - только если мы не подразумеваем под SIFT суммовые поля Navision. А мне кажется именно это и имели в виду некоторые участники дискуссии. И без суммовых полей вычисляемые поля конечно же не будут считаться - что в общем, тривиальный факт. Именно это и надо было прояснить. И еще. SVG! Человека, который не умеет вежливо общаться в форуме совершенно не хочется слушать. И тем более записывать. Вам сделали замечание - постарайтесь следить за речью. |
|
29.06.2005, 10:20 | #28 |
Участник
|
rov
Не хочешь - не слушай. И не записывай. Я совершенно не расстроюсь. Кому интересно - тот почитает, запомнит, запишет. А кому надо не знаний, а вежливости, могут закрыть глаза и читать порнографию методом брайля. Я никого не оскорбил, не нахамил, ни разу не перешел на личности, терпеливо двадцать раз объяснил одно и то же с примерами и с разных сторон и разными словами. Достаточно. Mazzy, можешь влепить мне плюсик за офтоп и личную переписку в теме. |
|
29.06.2005, 11:00 | #29 |
Участник
|
SVG- это вы уверенны что вы объяснили правильно-но это не значит что других это убедило. И если вы привыкли к авторитету на работе-это не значит - что по умолчанию здесь тоже у вас такой же авторитет. И объясняйте хоть 50 раз-если кого то не убеждает-то увы это и не убедит. А оскорбить можно по разному-можно напрямую-сказатть "дурак" , а можно сделать так как это сделали вы
Цитата:
Легко (с) будущая актриса
Культурно-но абслютно не возникает желание после этого вести конструктивный разговор. И хотите принимайте это к сведению -хотите нет, я абсолютно не расстроюсь. Вы же общаетесь с людьми (так что если такое общение у вас не вызывает проблем-то вери гуд-рада за вас). А теперь конкретный вопрос-из вашего объяснения тогда я не понимаю-зачем же галка "sift"? Цитата:
Точно так же и наоборот - можно создать ключ с SIFT, но при этом не создавать вычисляемое поле, а использовать просто в коде для вычисления некой суммы.
|
|
29.06.2005, 11:08 | #30 |
NavAx
|
Бррр... Дамы и господа, да что у вас за настрой такой, если вы умудряетесь во фразах типа "Легко (с) будущая актриса" оскорбление увидеть? Шутка по дефолту является оскорблением что ли?
__________________
"Моей лошадке ядрышком полмордочки снесло..." А.В.Суворов, письма к дочери |
|
29.06.2005, 11:14 | #31 |
Участник
|
Цитата:
Сообщение от SVG
Цитата:
Сообщение от SVG
терпеливо двадцать раз объяснил одно и то же
|
|
29.06.2005, 11:24 | #32 |
Участник
|
Дуд,да вроде вполне нормально отношусь к шуткам.
Просто если бы SVG после Цитата:
Ну понеслась... Не надо со мной "как-то не соглашаться", меня надо слушать и записывать. Последний раз повторяю, что вычисляемые поля и суммовые индексы - это совершенно разные и отдельные друг от друга вещи.
Но вообще думаю обсуждение манеры ответов SVG разумнее прекратить-так как это путь в никуда. Но убедить все таки он меня не убедил. |
|
29.06.2005, 11:46 | #33 |
Участник
|
Пожав плечами, дасвиданя...
|
|
29.06.2005, 11:49 | #34 |
Участник
|
SVG - "SIFT - это технология суммовых индексов - это как раз служебные структуры, хранящие готовые суммы по выбранным группирующим полям. Штука довольно вредная, и сделанная довольно топорно " - Вы это серьезно?
Как я понимаю - это одна из наиболее "мощных" составляющих Navision, кот. при грамотном использовании на порядки увеличивает эффективность приложения. |
|
29.06.2005, 12:13 | #35 |
Участник
|
zma
Собственно топорность ее в том, что галки по умолчанию стоят. Если посмотреть на кронусовую базу, или на 70% клиентских баз, то можно увидеть например с десяток индексов на таблице 37, 81, 83 - и все они будут иметь и SQL и SIFT - это не только не ускорит работу, а с точностью до наоборот замедлит ее - замедлится вставка и модификация записей, из-за тучи индексов на книжках сильно вырастет размер БД, а толку будет -30. К построению SIFT структур и SQL индексов надо подходить грамотно, а не абы как втыкая галки куда ни попадя. Собственно SIFT - действительно мощная штука, которую сами навиженцы преподносят как одно из своих самых суперпупердостижений. И если с ней обращаться умело - эффект будет. И немалый. Но мало кто умеет. Как пример - на нанешней работе в таблице 32 1.5 миллиона записей, а в ОДНОЙ из суммовых таблиц 7 миллионов! |
|
29.06.2005, 12:42 | #36 |
Участник
|
Вы знаете SVG я вообще то Вам еще и вопрос задала.
Цитата:
А теперь конкретный вопрос-из вашего объяснения тогда я не понимаю-зачем же галка "sift"?
Цитата:
дасвиданя...
|
|
29.06.2005, 12:59 | #37 |
Участник
|
Цитата:
Сообщение от Галина
Культурно-но абслютно не возникает желание после этого вести конструктивный разговор.
Вы же общаетесь с людьми (так что если такое общение у вас не вызывает проблем-то вери гуд-рада за вас). А проблемы с общением не у меня, это у слушателей какие-то претензии к изложению материала. Ну короче... Я тут для себя решил игнорировать выпады любителей изящной словесности - кому надо - тот прочитает, а у кого комплекты по поводу записывания - пусть мучается с ними самостоятельно, и желательно молча. Для того, чтоб посчитать сумму по записям некой таблицы, надо 1. создать ключ, куда войдут все поля, по которым мы будем ставить фильтр. 2. в этом ключе указать в поле SumIndexFields поле, кот. мы будем суммировать. Все. Этого достаточно как для работы вычисляемого поля, которое будет считать сумму по этой таблице, так и для работы CALCSUMS() Далее. У нас есть две галки - MaintainSQL и MaintainSIFT Можно поставить обе, можно любую из них. По идее, должны получить прирост скорости при расчете суммы. SQL опускаю. SIFT - Если в ключе 10 полей, если в ключе дата, то построение суммовой таблицы скорее всего ничего не даст - подчеркиваю - скорее всего, каждый случай надо рассматривать отельно. А если мы сделаем скажем на 32й таблице SIFT в ключе ItemNo,LocationCode <div class='CALtop'>C/AL</div><div class='CAL'>Item.No := 'Item1' Item.SETRANGE(LocationFilter, 'Location1'); Item.Calcfields(Inventory)</div> будет выполняться очень быстро. |
|
29.06.2005, 13:07 | #38 |
Участник
|
Да, конечно, главный акцент при использовании SIFT-технологии - это обращаться с ней грамотно и умело, как впрочем и с любым индексированием, понимать за счет чего происходит увеличение быстродействия на операциях чтения и чем приходится жертвовать для достижения этого. У нас есть клиент (швейное предприятие) с номенклатурой Item + Item Variant ~ 100000 ед. и годовым приростом базы в 50 Гб, так вот, время вывода разных оперативных производственных отчетов уменьшилось на 2 порядка после творческого внедрения SIFT-технологии.
|
|
29.06.2005, 13:14 | #39 |
Участник
|
zma
Ну это вы молодцы Собственно почти всегда через год после внедрения остро встает вопрос быстродействия.... поэтому предлагается сразу в отчетах вставлять SLEEP'ы, чтоб потом можно было в настройках ставить галки Работать нормально Работать быстро Работать еще быстрее |
|
29.06.2005, 13:38 | #40 |
Участник
|
[QUOTE]
Далее. У нас есть две галки - MaintainSQL и MaintainSIFT Можно поставить обе, можно любую из них. По идее, должны получить прирост скорости при расчете суммы. SQL опускаю. SIFT - Если в ключе 10 полей, если в ключе дата, то построение суммовой таблицы скорее всего ничего не даст - подчеркиваю - скорее всего, каждый случай надо рассматривать отельно. А если мы сделаем скажем на 32й таблице SIFT в ключе ItemNo,LocationCode C/ALItem.No := 'Item1' Item.SETRANGE(LocationFilter, 'Location1'); Item.Calcfields(Inventory) будет выполняться очень быстро [QUOTE] Поле Inventory-это же flow field поле? Если оно flow field-то в чем лично у меня не понимание вашего объяснения-если подсчитанные суммы где-то хранятся в служебных структурах-то я тогда не понимаю как обратится к этой сумме использую команды кода?Calcfields обращается же к flow filed полю?Если flow filed не часть SIFT -то поидеи мы как то должны напрямую обратится к подсчитанным суммам, хранящимся в служебных структурах? Я не правильно понимаю? |
|