cpu13.ru - форум OMRON
http://cpu13.ru/

Поиск через CX-Supervisor в SQL базе
http://cpu13.ru/viewtopic.php?f=3&t=3356
Страница 1 из 1

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

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

Автор:  Олег [ Чт ноя 15, 2018 08:24 ]
Заголовок сообщения:  Re: Поиск через CX-Supervisor в SQL базе

Ищет в базе не супервайзор, а сама база. Т.е. это с ней разбираться, почему так медленно.

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

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

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

Спасибо за совет.
Проблема со скоростью решилась когда в 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 сервере.

Автор:  Олег [ Чт ноя 29, 2018 21:02 ]
Заголовок сообщения:  Re: Поиск через CX-Supervisor в SQL базе

Странно, DBExecute вызываете до подключения к базе....

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

Страница 1 из 1 Часовой пояс: UTC + 3 часа (Russia: MSK)
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group
http://www.phpbb.com/