Форум » [x]Harbour » Быстрый фильтр - это мечта[ ! | ? ] » Ответить

Быстрый фильтр - это мечта[ ! | ? ]

spair2k: Подскажите пожалуйста SET FILTER бывает быстрым? Может что-то можно сделать, чтобы BROWSE работал пошустрее?

Ответов - 26, стр: 1 2 All

Петр: spair2k пишет: Подскажите пожалуйста SET FILTER бывает быстрым? Почему бы и нет если записей не много и условие фильтрации простое. Как правило, я лично редко использую SET FILTER - индексация с условием, set scope, временные пользовательские индексы и т.п. в зависимости от задачи.

SADSTAR2: В Клиппере использовал собственные браузерные блоки кода bGoTop, bSkip, bGpBottom в зависимости от конкретной задачи. В Харборе этот вопрос не смотрел за ненадобностью.

Andrey: SET FILTER (с индексом, хотя бы по одному условию) в хХарборе медленей на порядок, чем в Клипере. Почему, я не знаю. Мне пришлось под хХарбором переделывать все эти SET FILTER на "Условную индексацию" ( быстрей выходит).


Dima: Andrey пишет: SET FILTER (с индексом, хотя бы по одному условию) в хХарборе медленей на порядок, чем в Клипере Юзай ADS (с индексом по одному из условий) и будет быро ;)

spair2k: Петр пишет: Как правило, я лично редко использую SET FILTER - индексация с условием, set scope, временные пользовательские индексы и т.п. в зависимости от задачи. Я не большой специалист в языке, но мне казалось, что проиндексировать таблицу открытую в SHARED режиме без прав на исключительность нельзя, я чего-то путаю? Задача требует разделенного доступа нескольких клиентов. временные пользовательские индексы В это меня заинтересовало...

Петр: spair2k пишет: проиндексировать таблицу открытую в SHARED режиме без прав на исключительность нельзя, я чего-то путаю? Вообще-то SET EXCLUSIVE ON требуют команды REINDEX, PACK и ZAP В это меня заинтересовало... Еще раз перечитайте справку по команде INDEX, обратите внимание на предложения CUSTOM и TEMPORARY.

Andrey: spair2k пишет: В это меня заинтересовало... Каждый юзер может делать выборку по открытой базе ! Примерно так: nAllRecords := LASTREC() y:=ROW() ; x:= COL() cIndex := "STR(KCity)+STR(KStreet)+DOM+KVARTIRA" cFileIndex := "C:\TEMP\index-tmp.cdx" cFilter := "KCity == 101 .AND. KStreet == 22 .AND. DELETED()=.F." INDEX ON &cIndex TAG (cTag) TO (cFileIndex) ; EVAL { || DevPos( y, x+3 ) , DevOutPict( Int( RECNO()/nAllRecords*100 ), "999%" ) } ; FOR &cFilter Думаю, что разъяснять подробно ненужно .....

spair2k: Петр пишет: TEMPORARY Подскажите пожалуйста, а где найти информацию по этому предложению? Я смотрел описание команды INDEX и в документации по Harbour и по xHarbour и там одно и то же, но этого предложения нет... :( INDEX ON <indexExpr> ; [TAG <cIndexName>] ; [TO <cIndexFile>] ; [FOR <lForCondition>] ; [WHILE <lWhileCondition>] ; [ALL] ; [NEXT <nNumber>] ; [RECORD <nRecNo>] ; [REST] ; [EVAL <bBlock>] ; [EVERY <nInterval>] ; [UNIQUE] ; [ASCENDING|DESCENDING] ; [USECURRENT] ; [ADDITIVE] ; [CUSTOM] ; [NOOPTIMIZE] может есть свежая дока? подскажите откуда можно взять? я еще не научился С-шный код, как документацию использовать... :(

Dima: spair2k Посмотри Std.ch

Петр: TEMPORARY If this option is specified, a temporary index is created which is automatically destroyed when the index is closed. The temporary index may be created in memory only or in a temporary file. This lies in the responsibility of the RDD used for index creation. spair2k пишет: может есть свежая дока? подскажите откуда можно взять? Я уже писал на этом форуме о методе получения доки, ничего не поменялось. Идете на xHarbour.com, регистрируетесь и качаете xHarbourBuilder-DEMO-May2009-53.exe ~30 Mb После установки изучаете \xHB\doc\xHarbour Language Reference Guide.chm

Dima: Петр пишет: После установки изучаете \xHB\doc\xHarbour Language Reference Guide.chm Хочешь сказать что она полная и не обрезанная ?

Петр: Dima пишет: Хочешь сказать что она полная и не обрезанная ? Нет, конечно могло бы быть и получше Но без демо прибамбасов и в хозяйстве вполне пригодится. Версия 1.1

Dima: Петр Есть полная 1.1 надо ?

Петр: Для коллеции Из серии мечты идиота: давно собираюсь начать делать документацию Harbour, точнее справочник по функциям или еще точнее краткий обзор hbextern.ch. На русском конечно. Вернее уже начал разделы - i18n, hash, уже почти готовы, начал MT, описание утилит. Но дело идет туго - все упирается или в собственную лень или пробелы в знаниях

Dima: Петр http://files.mail.ru/XD7D4Y pass clipper

Петр: Спасибо, Дима! Оказывается в сборке xHarbourBuilder-DEMO-May2009-53 лежит таки "полная" версия справки.

Dima: Петр пишет: Оказывается в сборке xHarbourBuilder-DEMO-May2009-53 лежит таки "полная" версия справки Похоже автор лоханулся :) Молчу уже про большуюююю дыру на сайте (выкачать можно все не демо)

Andrey: Dima пишет: выкачать можно все не демо Я там слабо оринтируюсь.... что нужно выкачивать ?

Петр: Andrey пишет: что нужно выкачивать ? А зачем?

Dima: Andrey пишет: Я там слабо оринтируюсь.... что нужно выкачивать ? Оно тебе нужно ? ;) Доку я выложил , сливай. PS Уточняю, слить можно все коммерческие продукты. Но нужно знать ,как поиметь пароль на инсталляцию , но это уже другая история.... + при сливе нужно иметь анонимный прокси на всякий случай



полная версия страницы