SQL异步查询
紫金桥跨平台实时数据库提供了对关系型数据库的异步查询机制,防止当发生查询数据量过大或关系库所在主机网络故障等需要较长时间才能返回结果的情况时,引起的DB、VIEW和WEB客户端进程阻塞。使用SQL异步查询,在发出查询请求后,主进程不会等待查询结果返回,不会影响到任何数据刷新、动画以及脚本的执行。
- SQL异步查询机制详解
SQL异步查询机制的相关名词解释:
异步查询:发起查询请求后,发起请求的进程并不等待查询结果返回而继续执行其他任务,查询返回的结果由回调函数处理。
回调函数:用于处理异步查询返回结果的函数。当异步查询的结果返回时,执行回调函数的函数体中的脚本。
SqlAsyn:SQL异步查询服务程序,用于处理异步查询事务。该服务程序可独立部署,与DB/VIEW/WEB Client以远程TCP的方式连接,支持多点并发访问。
SQL异步查询的使用流程如下:
(1)建立SQL异步查询对象(定义要访问的关系数据库)。
(2)编写处理查询结果或返回值的回调函数。
(3)在数据库/画面下编写执行SQL异步查询的脚本。
(4)在工程启动项中勾选SQL异步查询服务程序SqlAsyn,运行工程。
SQL异步查询的执行逻辑:
(1)数据库/画面发起关系库的异步查询请求,请求发送给SQL异步查询服务程序SqlAsyn,数据库/画面继续执行其他任务,不等待查询结果。
(2)SQL异步服务程序执行关系库查询。
(3)查询结果返回,执行预定义的回调函数。
SQL异步查询的执行逻辑示意图如下:
图1 SQL异步查询执行逻辑示意图
- 配置并使用