Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
Которые? ------------------ Лень - это неосознанная мудрость. |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
Серёг, если тестируют под провайдером, то sys(3054) под ним не работает. ------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
wing Автор Сообщений: 13 Дата регистрации: 20.07.2009 |
Которыми были обрамлены параметры. про SYS(3054) я не в курсе ... к тому же работа ведется не в фоксе, а только с использованием его драйвера. |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
А что, они уже друг друга стали отменять? ------------------ Лень - это неосознанная мудрость. |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
wing Автор Сообщений: 13 Дата регистрации: 20.07.2009 |
Честно говоря, просто не представляю, как именно его в этом случае включить... |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
PaulWist Сообщений: 14625 Дата регистрации: 01.04.2004 |
Какие индексы есть на таблицы 1SJourn, dh179
------------------ Есть многое на свете, друг Горацио... Что и не снилось нашим мудрецам. (В.Шекспир Гамлет) |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Сергей, тут не надо даже смотреть сторону оптимизированности запроса - т.к. сам подход предполагает мега-тормоза. У вопрошающего же имеется сложный запрос, из которого он выдрал подзапрос и оформил в виде UDF - потом очевидно переписал основной запрос, поставив на соответствующее место вызов этой UDF - тут как ты не индексируй, как ни оптимизируй, а будет мегатормоз - эта UDF будет вызываться для каждой строки обрабатываемой таблицы, не отсеянной предыдущими условиями.
2 wing 1) Версия VFP OLEDB провайдера? Должна быть как минимум из 9-й серии! Лучше если патченная (аналогичная той что в VFP9 SP2). 2) Вынести подзапрос из JOIN ... ON в WHERE - где он собственно говоря и будет работать (на логике отбора это никак не скажется) т.е. примерно так:
Кстати, я не в курсе - какая кодовая страница у 1С-овских dbf-ок? какие у них индексы (cdx понимаемый VFP или что-то своё)? От этого во многом зависит степень оптимальности работы запросов через VFP OLE DB провайдер. ------------------ WBR, Igor |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
ssa Сообщений: 13008 Откуда: Москва Дата регистрации: 23.03.2005 |
С 21 билда вроде сделали по-нормальному, 1251. До того в заголовке был бардак. Цитата:Прекрасно понимаемый. ------------------ Лень - это неосознанная мудрость. |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
wing Автор Сообщений: 13 Дата регистрации: 20.07.2009 |
Верно. и эти тормоза в итоге становятся неприемлимыми у меня 9.0.0.3504 ... а какая в VFP9 SP2? Я не в курсе, как реализован SQL в VFP ... привык, что на скорость не влияет расположение условий - WHERE или ON JOIN'а ... если влияет - то можно перенести. |
Re: 1C + 1C++ + VFPOLEDB + ХП | |
---|---|
Igor Korolyov Сообщений: 34580 Дата регистрации: 28.05.2002 |
Последний провайдер берём тут www.microsoft.com
Его версия (dll-ки) 9.0.0.5815 Что касается твоего запроса, то дело не в скорости, а в том что нельзя в ON использовать подзапросы - а вот в WHERE можно. Т.е. я просто привёл его к синтаксически корректному виду (для фоксового диалекта SQL) Что каксается оптимальности - то возможно более оптимальным будет "перефразировать" запрос - не проверка в WHERE с подзапросом, а подзапрос с группировкой во FROM и соединение с ним (т.е. подзапрос выбирает максимальную дату для ВСЕХ документов или кто там это, а потом идёт join по обеим полям - этой самой максимальной дате и коду кокумента)... Ну думаю что идея понятна. VFP9 уже умеет подзапросы во FROM разбирать. ------------------ WBR, Igor |
© 2000-2024 Fox Club  |