FoxPro / VFP CREATE SQL VIEW медлительность в Windows 7 - PullRequest
0 голосов
/ 05 августа 2011

У меня проблема с 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.)

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

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

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

Ответы [ 4 ]

0 голосов
/ 15 августа 2011

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

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

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

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

0 голосов
/ 07 августа 2011

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

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

  • Это воспроизводимое на любой машине под управлением Windows 7?
  • Где ваша база данных? Это на локальной машине, в локальной сети или в интернете?
0 голосов
/ 08 августа 2011

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

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

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

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

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

0 голосов
/ 06 августа 2011

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

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

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

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

...