FoxPro / VFP CREATE SQL VIEW медленная работа в Windows 7

У меня проблема с vfp9 в 64-битной Windows 7. Я обнаружил, что создание представления sql занимает 5-6 секунд. В XP это происходит мгновенно. Когда мое приложение запускается, я делаю несколько из них, поэтому в Win 7 мое приложение запускается на 30+ секунд дольше, чем в XP. Мои взгляды выглядят так:

create sql view MyView remote connection MyConn as select * from MyTable

Я также обнаружил, что вызов dbsetprop добавляет еще 1-2 секунды в Win 7. И снова это мгновенно в XP.

dbsetprop('MyView.MyPk', 'Field', 'KeyField', .T.)
dbsetprop('MyView.MyPk', 'Field', 'Updatable', .T.)

После создания представления работают так, как должны. Никакой медлительности с платформой.

Есть ли у кого-нибудь идеи о том, что я могу попробовать, или какая-либо информация о том, что / может быть причиной этого?

Заранее спасибо.


person PM2    schedule 05.08.2011    source источник


Ответы (4)


Я не знаю почему, поскольку я еще не работал с Windows 7 с VFP ... Тем не менее, что я бы проверил в VFP и попытался изменить некоторые настройки, чтобы увидеть, помогает ли это.

В меню VFP / IDE выберите Инструменты, затем Параметры. В форме с несколькими вкладками щелкните вкладку «Удаленные данные».

Я не знаю, пытается ли он / что он пытается сделать, но, возможно, для тестирования убедитесь, что для параметра «Записи для одновременного извлечения» НЕ установлено значение «Все» (флажок).

Я также хотел бы изучить функцию SQLSETPROP (), чтобы узнать, могут ли помочь какие-либо из этих настроек.

person DRapp    schedule 06.08.2011
comment
Не проверяются все записи для одновременной выборки. - person PM2; 08.08.2011

Я не могу воспроизвести это в 64-разрядной версии Windows 7 ни с VFP9 RTM, ни с VFP9 SP2. У меня нет базы данных любого размера, с которой можно было бы работать, но в образце базы данных Northwind перечисленные вами команды работают мгновенно.

Пара вопросов:

  • Воспроизводится ли это на любом компьютере под управлением Windows 7?
  • Где твоя база данных? Это на локальном компьютере, в локальной сети или в Интернете?
person stuartd    schedule 06.08.2011
comment
Я не могу воспроизвести его на других машинах с Windows 7. База данных находится на локальном компьютере. - person PM2; 08.08.2011

Кажется, что существует больше возможностей для проблем со скоростью с приложениями Windows 7 и Visual FoxPro (и аналогичными), и я думаю, что это связано с другим сетевым стеком в Windows 7, незрелыми драйверами сетевых карт, повышенной восприимчивостью к проблемам с кабелями и сетевым коммутатором. , или любое их сочетание.

Убедитесь, что все ваши устройства с Windows 7 находятся на SP1 (и все ящики Server 2008 с общими файлами DBF), так как это устраняет проблему повреждения файлов, которая повлияла на индексы Visual FoxPro.

Убедитесь, что драйверы вашей сетевой карты на 100% обновлены. Это может иметь большое значение.

Одна вещь, которую я видел, которая может значительно улучшить скорость сетевых приложений Visual FoxPro, - это драйвер сетевой карты Прервать модерацию. Это присутствует на Intel, Broadcom и многих других сетевых адаптерах, хотя, возможно, с немного другими названиями.

Я лично видел ситуации, когда отключение этого изменяло запуск сетевого приложения VFP с 30 секунд до примерно 6 секунд.

person Alan B    schedule 08.08.2011
comment
очень интересно ... Приму это к сведению для будущих нужд. - person DRapp; 08.08.2011

Нашел решение.

Кэширование записи было отключено на диске программным обеспечением RAID-контроллера, входящим в комплект поставки машины.

Кэширование записи было включено в Диспетчере устройств> Дисковый накопитель> Свойства> Политики. Однако программное обеспечение переопределяло этот параметр.

Его можно воспроизвести без рейдового программного обеспечения, сняв флажок в Windows 7 Polices.

person PM2    schedule 15.08.2011