У меня есть два типа пользовательских карманных компьютеров, которые похожи, но немного отличаются, каждый из которых запускает одно и то же приложение WinForm и базу данных WinCE:
Тип 1: WinCE 4.2, 400 МГц, 93244 КБ
Тип 2: WinCE 5.0, 520 МГц, 84208 КБ
Тип 1 успешно пройдет через большую пакетную операцию дБ (инициированную приложением), а Тип 2 последовательно начнет c-r-a-w-l-i-n-g (в течение нескольких или многих циклов) примерно на отметке 200 циклов. В некоторых точках он начнет нормально работать, а затем снова сканировать.
Приложение выполняет несколько операций с БД (вставляет, обновляет и выбирает, не удаляет).
Чтобы упростить мою ситуацию, я создал небольшое тестовое приложение, которое по сути делает это:
command_s.CommandText = "select dvr from vr where vid = 2211250";
command_u.CommandText = "update pvr set LocationID=81 where Status='OK' and vri = 27861";
while(going)
{
command_s.ExecuteScalar();
command_u.ExecuteNonQuery();
}
и включите его на двух устройствах рядом. Конечно же, более медленный (400 МГц) блок опережает более быстрый (520 МГц) (сейчас это примерно на 5000 циклов вперед), и я вижу заметные паузы на 520 МГц.
Что вызывает это?