Главная   Downloads   Разное  
FAQ     Поиск   Регистрация   Вход 
Текущее время: Вс дек 16, 2018 08:40

Часовой пояс: UTC + 3 часа (Russia: MSK)




Начать новую тему Ответить на тему  [ 4 сообщений ] 
Автор Сообщение
 Заголовок сообщения: Поиск через CX-Supervisor в SQL базе
СообщениеДобавлено: Ср ноя 14, 2018 10:23 
Не в сети

Регистрация: Ср ноя 07, 2018 14:39
Сообщения: 4
Добрый день!
Образовалась такая проблема нужно в SQL базе примерно из 200000 строк быстро искать нужную и передавать в PLC.
Используя команду FindNext время поиска составляет 201544 строка 31 секунда,
161647 строка 24 секунды.
Можно ли как то увеличить скорость поиска?
И можно ли в скрипте return = DBExecute(level, command, parameter), parameter сделать динамическим? Что бы через контролер менять критерий поиска.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Поиск через CX-Supervisor в SQL базе
СообщениеДобавлено: Чт ноя 15, 2018 08:24 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3026
Откуда: Москва
Ищет в базе не супервайзор, а сама база. Т.е. это с ней разбираться, почему так медленно.

Создайте текстовую точку, меняйте её содержимое и подставляйте эту точку на место "parameter".

Код:
txtFilt1="событие  Like '"+"*"+txtFilt+"*"+"'"
DBExecute( "fiskal.Read", "Filter", txtFilt1 )


В начало
 Профиль  
 
 Заголовок сообщения: Re: Поиск через CX-Supervisor в SQL базе
СообщениеДобавлено: Чт ноя 29, 2018 08:21 
Не в сети

Регистрация: Ср ноя 07, 2018 14:39
Сообщения: 4
Спасибо за совет.
Проблема со скоростью решилась когда в Recordset источник стал не Table name, а SQL Text, и поиск производить через SQL запрос:

DBClose( "Connection2.Recordset1" )
SQL = "SELECT * FROM tect where KOD = '" + poisk + "'"
call DBExecute( "Connection2.Recordset1", "Source", SQL )
DBOpen( "Connection2.Recordset1" )

А еще вопрос можно ли как то скриптом в CS-Supervisor, высчитать время выполнения запроса? Что бы узнать за сколько времени он находит ту или иную строчку в SQL сервере.


В начало
 Профиль  
 
 Заголовок сообщения: Re: Поиск через CX-Supervisor в SQL базе
СообщениеДобавлено: Чт ноя 29, 2018 21:02 
Не в сети
Site Admin
Аватара пользователя

Регистрация: Вт сен 19, 2006 21:13
Сообщения: 3026
Откуда: Москва
Странно, DBExecute вызываете до подключения к базе....

-----
В супервайзоре есть системные переменные, секунды, миллисекунды.
Запишите в одну переменную время до запроса, во вторую..............и.т.д.


В начало
 Профиль  
 
Показать сообщения за:  Сортировка  
Начать новую тему Ответить на тему  [ 4 сообщений ] 

Часовой пояс: UTC + 3 часа (Russia: MSK)


Кто сейчас на конференции

Сейчас этот форум просматривают: в настоящее время на конференции нет зарегистрированных пользователей и гости: 4


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Переход:  
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
Русская документация по phpBB 3