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/ |