ConnectionString: Provider="HwPHDProv.2";User ID=;Data Source="10.121.2.35";Extended Properties=;Persist Security Info=False;Location=TOTALPLANT
原始的历史数据都保存在表IP_PHD_RAW中,点的配置信息如数据类型等都保存在表IP_PHD_ONLINE_TAG中。查询历史数据时一般都要对时间戳作比较,PHD中支持NOW操作,时间戳格式要严格按照“2006-04-17 08:00:00”来写,不能少0。千万不要查询没有历史数据的时间段,否则会出异常的。
接下来就让我们来看看PHD的SQL支持上的不足吧:
1.不支持统计操作,如sum,avg,max,min等等
2.不支持字符串模糊匹配
3.where字句中仅能对点名、时间戳、点号进行比较,并且点名只能比较是否相等
在测试过程中,我发现第一次查询的速度都特别慢,后来仔细想想,估计原因是这样的:
由于点的配置信息是存放在Oracle数据库中,而Oracle数据库服务器和PHD服务器并不是同一台机器,因此第一次访问都要通过ODBC去连接Oracle服务器,获取点的数据类型,这样速度就比较慢;已经访问过的点的数据类型信息会被我缓存起来,因此以后的访问速度都会快些。不知道这个猜测对不对,呵呵。
以上我对两个实时数据库的SQL支持都颇有微词,因为我觉得其SQL支持与大名鼎鼎的实时数据库本身相比,实在不是很般配。
我们现在也在做自己的实时数据库,面对前人的优势和不足,我们,或者说,我,能将SQL支持做成什么样子呢?
文章来源于领测软件测试网 https://www.ltesting.net/