Имя: Пароль:
1C
1C 7.7
v7: Медленное выполнение запросов через 1sqlite.dll на WinServer 2008.
0 ikea
 
11.08.14
13:52
База 1с 7.7 dbf. Раньше крутилась на winserver 2003. Сервак умер. Поставили новый сервак с Winserver 2008 r2. Обработка с поиском по подстроке с использованием SQLiteBase  стала очень медленно работать. Раньше отрабатывала за 0,5-1 секунды. Теперь 20-30 секунд. Где собака порылась?

Код естественно не менялся.
1 Ёпрст
 
гуру
11.08.14
13:54
всё на одном сервере или по сетке ?
2 ikea
 
11.08.14
13:55
Сервак терминальный.
3 ikea
 
11.08.14
13:59
Запрос.ВыполнятьВТранзакции=1; Тоже не прокатывает.
4 ikea
 
11.08.14
14:04
Пример из мануала тоже долго работает около 10 секунд

// Создаем объект - базу данных
Попытка
    база = СоздатьОбъект("SQLiteBase");
Исключение
    ЗагрузитьВнешнююКомпоненту("1sqlite.dll");
    база = СоздатьОбъект("SQLiteBase");
КонецПопытки;

// Откроем пустую базу данных в памяти
база.Открыть(":memory:");
// Создадим выполнитель запросов.
запрос = база.НовыйЗапрос();
// Так как база в памяти, то журналирование нам ни к чему, только зря будет отнимать время
запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
// Подключим таблицу справочника товаров к SQLite
запрос.ВыполнитьЗапрос("create virtual table Товары using dbeng(Справочник.Номенклатура)");
// А теперь посчитаем, сколько у нас в справочнике элементов, без учета групп
Сообщить("Кол=" + запрос.ВыполнитьЗапрос("
|select count(*)
|from Товары
|where Товары.isfolder = 2
|").ПолучитьЗначение(1, 1));
5 Ёпрст
 
гуру
11.08.14
14:09
какой версии 1sqlite ?
в терминале, лучше так:

//запрос.ВыполнитьЗапрос("PRAGMA journal_mode = OFF");
запрос.ВыполнитьЗапрос("PRAGMA journal_mode = WAL");

+ есть автоподключение таблиц, поентому запрос надо писать так:

//запрос.ВыполнитьЗапрос("create virtual table Товары using dbeng(Справочник.Номенклатура)");
Сообщить("Кол=" + запрос.ВыполнитьЗапрос("
|select count(*)
|from [Справочник.Номенклатура] Товары
|where Товары.isfolder = 2
|").ПолучитьЗначение(1, 1));
6 ikea
 
11.08.14
14:10
И еще очень странный момент на Windows 7 Ultimate(x64) все работает как надо. Еще больше поставило в тупик. Может какие настройки на сервере сделать нужно?
7 ikea
 
11.08.14
14:10
Версия 1.0.2.6
8 Ёпрст
 
гуру
11.08.14
14:12
1.0.2.6 в топку, в нем есть ошибки

ставь 1.0.2.4
9 ikea
 
11.08.14
15:48
Решение как оказалось гораздо проще: админ не поменял BkEnd.dll)))