Запрос работает по-разному на разных машинах
Модераторы: m0p3e, edward_K, Модераторы
Запрос работает по-разному на разных машинах
Всем привет.
Написал небольшой отчётец с Excel-функциями xl*Matrix ("вариантные массивы"). На моём компьютере выполняется за минуту. На других машинах ждут часок. В чём дело? unreg.bat и reg.bat не помогли. Почему-то запрос выполняется различное время.
Написал небольшой отчётец с Excel-функциями xl*Matrix ("вариантные массивы"). На моём компьютере выполняется за минуту. На других машинах ждут часок. В чём дело? unreg.bat и reg.bat не помогли. Почему-то запрос выполняется различное время.
Последний раз редактировалось RAJAH 26 янв 2011, 12:26, всего редактировалось 1 раз.
-
- Заслуженный деятель интернет-сообщества
- Сообщения: 5188
- Зарегистрирован: 29 мар 2005, 17:49
- Откуда: SPB galaxy spb
Re: xl*Matrix работают по-разному на разных машинах
а в конце концов выводится? А то мож просто в excel или еще где стоит на ошибке.
Да и сильно влияет принтер - как и на все редакторы от мелкософта.
Да и сильно влияет принтер - как и на все редакторы от мелкософта.
Re: xl*Matrix работают по-разному на разных машинах
Да, в конце концов, если иметь терпение, можно дождаться отчёта. Принтер - вряд ли, от него не зависит: сетевой у нас с одной машиной совпадает, с другой нет, а всё равно на этих компьютерах гораздо дольше, чем у меня.
Re: Запрос работает по-разному на разных машинах
Сменил тему. Оказалось, причина в запросе. Именно он по-разному ведёт себя на разных компьютерах. Интересно, почему. Вот код:
Код: Выделить всё
select katmbp.name, katpodr.name, katmol.name, persons.fio, sklad.name, mbpin.din, mbpin.dateend
from katmbp, mbpin, katmol, katpodr, perscard, lschet, persons, mbpout, katpodr sklad
where
((
mbpin.cpers /== perscard.nrec and
perscard.clschet /== lschet.nrec and
lschet.tperson /== persons.nrec and
mbpin.cmbp /== katmbp.nrec and
mbpin.cpodr == katpodr.nrec and
mbpin.cpodrf == sklad.nrec and
mbpin.cmol == katmol.nrec and
mbpin.nrec == mbpout.cmbpin and (4 = mbpout.status or 2 = mbpout.status)
))
and abs(mbpin.tpercent-100) < 0.009
and not isvalidall(tnmbpout);
Re: Запрос работает по-разному на разных машинах
/== Жесткие подцепки могут давать такие тормоза в запросах, что "мама не горюй"...
Re: Запрос работает по-разному на разных машинах
А компьютеры однотипные? Помнится, у первых AMD Athlon были проблемы с Галактикой, которые никогда не наблюдалось на IntelRAJAH писал(а):Сменил тему. Оказалось, причина в запросе. Именно он по-разному ведёт себя на разных компьютерах. Интересно, почему.
Галактика 8.10, Oracle 10g / 10.2.0.4
Re: Запрос работает по-разному на разных машинах
Они "лишние" записи хорошо исключают, которым не найдено соответствие. И я бы ещё засомневался, но у меня-то не тормозит.m0p3e писал(а):/== Жесткие подцепки могут давать такие тормоза в запросах, что "мама не горюй"...
Угу. Все Intel.Serges писал(а):А компьютеры однотипные? Помнится, у первых AMD Athlon были проблемы с Галактикой, которые никогда не наблюдалось на Intel
Re: Запрос работает по-разному на разных машинах
от жесткой подцепки можно избавиться заюзав IsValid
Re: Запрос работает по-разному на разных машинах
А не надо сомневаться - надо проверить. Как-то надо было разобраться со стандартным фейсом, который запускался по минуте. Убрав всего одну жесткую подцепку удалось добиться запуска в 1-2 секунды.RAJAH писал(а):Они "лишние" записи хорошо исключают, которым не найдено соответствие. И я бы ещё засомневался, но у меня-то не тормозит.m0p3e писал(а):/== Жесткие подцепки могут давать такие тормоза в запросах, что "мама не горюй"...
И кстати СУБД какая?
Re: Запрос работает по-разному на разных машинах
Стоп-стоп! Я ж говорю: у меня всё быстро. Если бы у всех подтормаживало, тогда можно было усомниться в /==.m0p3e писал(а):А не надо сомневаться - надо проверить.
MS SQL.m0p3e писал(а):И кстати СУБД какая?
Re: Запрос работает по-разному на разных машинах
Как вариант - разные настройки ODBC, у вас протокол named pipes, у других - tcp/ip.
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Запрос работает по-разному на разных машинах
А, по-моему, вот эти фильтры могут очень сильно тормозить:
Если не ошибаюсь, при такой записи фильтрация идет на машине клиента
Код: Выделить всё
and abs(mbpin.tpercent-100) < 0.009
and not isvalidall(tnmbpout);
Re: Запрос работает по-разному на разных машинах
У всех TCP/IP.Polimer писал(а):Как вариант - разные настройки ODBC, у вас протокол named pipes, у других - tcp/ip.
А какими настройками, существенными для быстродействия, моя машина от других отличается? Конфигурация железа одинаковая - брали серией у одного поставщика.Vik писал(а):при такой записи фильтрация идет на машине клиента
-
- Местный житель
- Сообщения: 370
- Зарегистрирован: 28 сен 2006, 15:43
- Откуда: Санкт-Петербург
- Контактная информация:
Re: Запрос работает по-разному на разных машинах
Ну этого я, сами понимаете, знать никак не могу) А вы пробовали уже хоть как-то поэкспериментировать с вьюхой?RAJAH писал(а):А какими настройками, существенными для быстродействия, моя машина от других отличается?
Re: Запрос работает по-разному на разных машинах
К слову - на named pipes Галактика, как правило, работает быстрее.RAJAH писал(а):У всех TCP/IP.Polimer писал(а):Как вариант - разные настройки ODBC, у вас протокол named pipes, у других - tcp/ip.
По поводу тормозов - а не подключены ли проблемные станции к сети по 10-ке? Вряд ли, конечно, в наше время такое уже возможно, но вдруг - хабик какой-нибудь временный поставили и забыли. А на этом отчете явственнее всего проявляется
Галактика 8.10, Oracle 10g / 10.2.0.4