|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
DataWindow заполнет. Пользователь может устанавливать разные фильтры. 1. На каком этапе фильтр целесообразней заменить на новый Retrieve? 2. Есть ли ограничения на длину строки условия для фильтра? ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2009, 17:00 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
AISDataWindow заполнет. Пользователь может устанавливать разные фильтры. 1. На каком этапе фильтр целесообразней заменить на новый Retrieve? 2. Есть ли ограничения на длину строки условия для фильтра? 1. Если записей в DataWindow не сотни тысяч, то целесообразности менять фильтр на Retrieve в общем случае нет. 2. Есть, большое. ... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2009, 17:55 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Локшин МаркAISDataWindow заполнет. Пользователь может устанавливать разные фильтры. 1. На каком этапе фильтр целесообразней заменить на новый Retrieve? 2. Есть ли ограничения на длину строки условия для фильтра? 1. Если записей в DataWindow не сотни тысяч, то целесообразности менять фильтр на Retrieve в общем случае нет. 2. Есть, большое. Т.е. в конструкции: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
17.07.2009, 22:02 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
AISЛокшин МаркAISDataWindow заполнет. Пользователь может устанавливать разные фильтры. 1. На каком этапе фильтр целесообразней заменить на новый Retrieve? 2. Есть ли ограничения на длину строки условия для фильтра? 1. Если записей в DataWindow не сотни тысяч, то целесообразности менять фильтр на Retrieve в общем случае нет. 2. Есть, большое. Т.е. в конструкции: Код: plaintext
А Вам что-то мешает это проверить? Как это будет по скорости - не знаю. Например подобная конструкция на MS SQL (на 2000 и ниже - точно) когда в in массив из нескольких тысяч значений, приводит к достаточно сильным тормозам. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2009, 11:00 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Локшин Марк , Спасибо за ответ. Буду скорее всего искать другие решения (конструкции строки фильтра), либо ограничивать пользователя в его экспериментах. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.07.2009, 23:29 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
И то и другое я давно включил в свои приложения в качестве стандартного сервиса любого dw (местами ограничено по логическим соображениям) Те пользователь может конструировать любое условие из колонок окна + дописывать свой фрагмент where условия для sql или фильтра dw - что ему больше нравиться. Результат по моим наблюдениям получился лучше для where в sql - С фильтрами есть непонятные глюки - ну может я не все там доработал... Что касается длины where условий - я их ограничил 8к - с диагностикой типа "Слишком сложно...", поскольку с SQL ANYWHERE старых версий (5.5 - 7) были преценденты жесткого падения сервера, когда user маркировал этак 30 000 записей справочника номенклатуры и накладывал это условие на какой-нибудь товарный отчет. По поводу эффективности списковых условий IN (1,2,3 ...) применительно к той же ASA "несколько" по ключу оч хорошо "много" даже по ключу оч хреново когда все одно full scan получается поэтому почти везде заменил список на строку через запятую и locate(...)>0 в ней Ничего лучше для передачи списковых аргуметов в отчеты и процедуры не нашел - это самое быстрое оказалось - лучше IN, LIKE ... ... |
|||
:
Нравится:
Не нравится:
|
|||
21.07.2009, 17:15 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Я, когда предполагается возможность выбора юзером нескольких значений для фильтра, вместо Код: plaintext
и делаю условие так: Код: plaintext
... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 01:06 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyЯ, когда предполагается возможность выбора юзером нескольких значений для фильтра, вместо Код: plaintext
и делаю условие так: Код: plaintext
Делаю примерно также, только почему в глобальную временную таблицу? Не помню как в Oracle, а в MS SQL она например видна всем сессиям. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 10:10 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Локшин МаркДелаю примерно также, только почему в глобальную временную таблицу? Не помню как в Oracle, а в MS SQL она например видна всем сессиям. В Оракле - тоже. Но данные-то у каждой сессии там свои. Эта таблица у меня создается один раз вместе со всей остальной схемой, и приложению не надо каждый раз заботиться об этом, и появляется возможность оптимизации на уровне СУБД без изменения кода программы (индексы и прочее). Плюс в PB они видны как обычные таблицы и можно использовать в полной мере все инструменты (DW painter, Embedded SQL). Ну и в Oracle нету других типов временных таблиц :) Но например в ASA (с которым я тоже работаю) есть локальные, но я по вышеописанным причинам их не использую. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 12:01 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyНо данные-то у каждой сессии там свои. А в MS SQL общие. ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 13:40 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Локшин МаркAnatoly MoskovskyНо данные-то у каждой сессии там свои. А в MS SQL общие. А есть хотя-бы опция ON COMMIT DELETE ROWS ? ... |
|||
:
Нравится:
Не нравится:
|
|||
22.07.2009, 14:42 |
|
DataWindow: Filter or Retrieve?
|
|||
---|---|---|---|
#18+
Anatoly MoskovskyЛокшин МаркAnatoly MoskovskyНо данные-то у каждой сессии там свои. А в MS SQL общие. А есть хотя-бы опция ON COMMIT DELETE ROWS ? Нет. Хотите персональные данные для каждой сессии - используйте только локальные временные таблицы. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.07.2009, 10:17 |
|
|
start [/forum/topic.php?fid=15&fpage=32&tid=1336205]: |
0ms |
get settings: |
10ms |
get forum list: |
11ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
39ms |
get topic data: |
10ms |
get forum data: |
2ms |
get page messages: |
44ms |
get tp. blocked users: |
1ms |
others: | 13ms |
total: | 136ms |
0 / 0 |