石鑫华视觉论坛

 找回密码
 注册会员
查看: 4055|回复: 0

[转载] 陈树学:LABVIEW深入探索之MDB数据库写入速度问题

[复制链接]
  • TA的每日心情

    11 小时前
  • 签到天数: 3384 天

    连续签到: 6 天

    [LV.Master]2000FPS

    发表于 2014-5-24 19:51:51 | 显示全部楼层 |阅读模式 来自:广东省东莞市 移动

    注册登陆后可查看附件和大图,以及购买相关内容

    您需要 登录 才可以下载或查看,没有账号?注册会员

    x
    近日在LABVIEW的群中,看到几次讨论利用队列把采集的数据写入到数据库的问题,讨论非常热烈,但是他们忽略了一个重要的问题,就是数据库的最大写入速度的问题。
    一旦你每秒采样数超过一定限度时,无论你采用何种编程方式,如何优化你的程序,在超过一定限度后,都是不可能实现的,在这种情况下,讨论如何解决就毫无意义了。
    队列主要有三方面的用途,并行、解除耦合和解决忙先不均。在高速采集时,队列只是起到了并行的作用。由于采集的速度远大于数据库的写入速度,这种情况下,使用数据库本身就是一个错误的选择,是不可能实现的。
    下面我利用LABVIEW本身的数据库例程,稍微改动一下,测试数据库的写入速度。LABVIEW数据工具包提供三种不同的写入数据方式。
    1、自动方式。利用“插入数据”VI。
    2、利用SQL查询方式。
    3、利用SQL参数化查询。



    这三种方式中,SQL查询方式速度明显是最快的。SQL参数化查询和自动方式非常接近,SQL参数化查询比自动化方式略快一些。
    在我的计算机中,写入10000条记录,SQL查询方式约为20秒,其它方式约为30秒。也就是说使用MDB数据库,每秒最快写入约500条记录。
    我写入的记录数据量是很小的,如果记录中存储的数据量很大,速度还要慢。所以,使用数据库仅仅适合与低速采集,对中高速采集是不可能实现的。
    LABVIEW的DSC工具包采用了通用数据库,因为常用的扫描周期为100MS,这是没有问题的。对于中高速采集,提供了S存储方式。即使采用TDMS方式,也必须在一定限度之内,毕竟最终的速度还是取决于硬件设备。
    本文转自LV大师陈树学老师相关文章。
    回复

    使用道具 举报

    您需要登录后才可以回帖 登录 | 注册会员

    本版积分规则

    LabVIEW HALCON图像处理入门教程(24.09)
    石鑫华机器视觉与LabVIEW Vision图像处理PDF+视频教程11种全套
    《LabVIEW Vision函数实例详解2020-2024》教程-NI Vision所有函数使用方法介绍,基于NI VISION2020,兼容VDM21/22/23/24

    QQ|石鑫华视觉论坛 |网站地图

    GMT+8, 2024-11-22 19:17

    Powered by Discuz! X3.4

    © 2001-2024 Discuz! Team.

    快速回复 返回顶部 返回列表