• WinCC试验:归档数据库的不同查询方式速度对比


    测试环境的WinCC设置为1秒1次变量记录,查询两天的数据,共158039行,以下测试查询内容相同。注意图片右下角查询时间和查询行数。

    查询对比

    从WinCC过程值归档数据库中查询出的变量是以列呈现的,一般还需再做二次查询对数据进行转换,把变量值变成二维表格。这里不对数据进行转换,只把查询的数据保存到临时表变量再二次查询,模拟实际使用的过程。

    (1)用WinCC提供的存储过程查询,查询的数据先保存在临时表变量中,然后再从临时表变量中查询所有数据,耗时20秒。

    (2)用WinCC建立的链接数据库查询,查询的数据先保存在临时表变量中,然后再从临时表变量中查询所有数据,耗时20秒。

    (3)用WinCC建立的链接数据库查询,查询的数据直接显示,耗时14秒。

    (4)用WinCC提供的OLEDBProvider查询,查询的数据直接显示,耗时14秒。

    (4)直接查询SQL Server数据库,该表是用上面方法查询出数据后写入其中建立的测试表,耗时1秒。

    结论

    序号

    查询方式

    耗时(秒)

    1

    存储过程查询,保存到表变量再显示。

    20

    2

    链接服务器查询,保存到表变量再显示。

    20

    3

    链接服务器查询,直接显示。

    14

    4

    WinCCOLEDBProvider查询,直接显示。

    14

    5

    SQL Server表查询。

    1

      从WinCC过程值归档数据库中查询158039行数据耗时14秒,每秒查询到‭11288行数据‬,如果临时保存到表变量需再耗费6秒,如果从SQL Server数据库中查询数据保存到表变量只需1秒。

      存储过程内所使用的接口正是链接服务器,而链接服务器也是通过WinCCOLEDBProvider创建,所以以上结果WinCC的存储过程、链接服务器和WinCCOLEDBProvider的查询速度一样,但是都比查询SQL Server表要慢许多。

  • 相关阅读:
    什么是“QQ登录OAuth2.0”
    访问ashx一般应用程序
    TCP协议三次握手过程分析(改)
    插入排序法
    选择排序法
    笔记-几何法解决三点定圆问题
    题解-bzoj4320 Homework
    题解-BOI 2004 Sequence
    博客-暂时搁置
    题解-CTSC2012 熟悉的文章
  • 原文地址:https://www.cnblogs.com/yada/p/12691669.html
Copyright © 2020-2023  润新知