Delphi处理SQL Server多媒体数据

2008-02-23 07:18:56来源:互联网 阅读 ()

新老客户大回馈,云服务器低至5折

1 2 下一页

笔者日前参与开发了一套高速公路收费系统,主要功能是记录通过收费站的所有车辆的信息,包括时间、车型、金额、车辆图片资料等,其中涉及到多媒体数据的处理。下面笔者将主要依靠Delphi中的流数据类型来为大家做讲解。
  一、选择数据库

  1.问题

  常用的桌面型数据库,如Access、Visual FoxPro等,使用比较简单,也可以管理多媒体信息。但由于数据库引擎不够强大,在管理少量多媒体数据时尚能正常运行,当数据量增大到一定程度后,数据库的反应就会变得异常缓慢,其性能也大幅下降。在达到某个临界点时,甚至还会出现数据库处理能力和待处理数据量的严重失衡,而导致假死状况的出现。笔者有过这样的经验,用Visual Fox Pro来管理1万名学生的照片档案和学籍信息,这时要进行查询必须经过长时间等待,最后不得不放弃。

  2.治“标”

  用一些技巧可以加快系统的运行,比如“化整为零”法。即将超大数据分散到众多数据表中,虽然可以有效地提高数据库的运行速度,但层次过多使查询、统计等变得十分不便,而且编程的复杂度和工作量也会随之大幅增加。

  另外一个常用方法是将多媒体数据保存为独立的文件,在数据库中只存储这些文件的路径和文件名,从而避免了将海量数据直接存入数据库。这种为数据库减负瘦身的方法可用于任何数据库,通用性好,而且对性能的提升也是可观的,是一种已经得到广泛应用的治“标”方法。然而这种方法也有明显的缺点:结构复杂、不便维护、安全性差,更体现不出数据库的优点。还是以学籍管理为例,采用这种方法管理1万甚至更多学生的照片数据,程序非常复杂,维护也十分困难,依然不是治“本”之策。

  3.治“本”

  其实,要处理海量的多媒体数据,再先进的桌面型数据库都会捉襟见肘,笔者最后采用了企业级数据库。以SQL Server、Sybase、Oracle等为代表的企业级数据库具有更强大的性能、更完善的数据管理、更可靠的安全特性和更出色的网络功能,能够胜任非常复杂和庞大的数据管理任务,同时它们还提供了丰富的数据类型,以及针对多媒体管理特别优化的引擎。考虑综合性能、价格等各方面的因素,我们最终选择SQL Server 2000标准版作为系统的后台数据库。

上一篇: 用Delphi7设计FTP上传软件
下一篇: 利用Delphi编程控制摄像头

1 2 下一页

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:深入理解Delphi的消息机制

下一篇:用AdoDataSet实现数据表的导入导出