如何提高visual foxpro的性能

如何提高visual foxpro的性能

ID:20351627

大小:60.50 KB

页数:5页

时间:2018-10-09

如何提高visual foxpro的性能  _第1页
如何提高visual foxpro的性能  _第2页
如何提高visual foxpro的性能  _第3页
如何提高visual foxpro的性能  _第4页
如何提高visual foxpro的性能  _第5页
资源描述:

《如何提高visual foxpro的性能 》由会员上传分享,免费在线阅读,更多相关内容在工程资料-天天文库

1、如何提高VisualFoxPro的性能摘要:本文介绍一些实用技巧和技术。如果我们能正确地应用这些技术,就可以大大改进VisualFoxPro的性能,提高数据的访问速度。关键词:VisualFoxPro;性能;技术高性能是MicrosoftFoxPro数据库管理系统(特别是它的数据库引擎)的最大特点。VisualFoxPro关系型数据库引进了对象模型,提高了引擎的存取速度并增强了客户/服务器特性,因此整个管理系统的功能变得更加强大。但是,这些强大功能的代价是使管理系统变得更加复杂。因此,一方面,很容易

2、开发出性能稳定、面向对象、使用远程数据的应用程序,另一方面,也很难避免出现低性能的应用程序。本文从改善、提高VisualFoxPro性能的目标出发,介绍一些实用技巧和技术。一、改善本地数据访问的性能1.使用索引VisualFoxPro中的索引是基于树的数据结构,因此查询经过索引的表是很快的。但当表中有较多的索引时,更新表和向表中输入数据就会变得慢一些,因为VisualFoxPro需要更新每个索引。通常,只需在用于筛选和联接的数据上建立索引。应该避免以FOR<条件>或NOT<条件&g

3、t;这样的形式建立索引表达式,因为这些表达式无法优化。例如:INDEXONDELETED()TAGDEL是可以进行Rushmore优化的,但是,INDEXONNOTDELETED()TAGNOTDEL则不能。在特殊情况下,我们不想包含被删除的记录,可以先设置SETDELETEDON,再创建索引,这样可以加速操作。此外,注意不要在那些只有少数离散数据中取值的字段(例如逻辑型字段)上建立索引。2.优化查询的条件VisualFoxPro通过查找与筛选表达式左边相匹配的索引表达式来优化筛选条件。我们经常试图

4、将索引的标识名与一个筛选表达式相匹配,而VisualFoxPro无法通过这种方式优化查询。下面使用的索引是错误的:USECUSTOMERSINDEXONUPPER(cu_name)TAGnameSELECT*FROMcustomers;customers),则查询还能更快。非机器排序序列(例如“通用”排序序列)比机器排序序列慢,有下列几个原因:非机器索引关键字的大小是机器索引关键字的两倍,因为必须为每个字符记录注音信息;为了返回正确的结果,非机器排序序列要使用很多特定的规则来断定索引的顺序。因为机器

5、排序序列更快,所以它通常用于联接和查找,而其他排序序列用于排序记录。5.使事务安排紧凑事务应该只包含更新数据操作,在事务中包含其他任何操作(如使用我们界面,使用编程结构的CASE、customersSELECT则会好得多。2.使用一个customerscustomersicrosoftSQLServerServer)允许我们在一个单独的数据包中发送一批SQL语句,这个技术加速更新、删除和插入,因为通过网络传送的网络包的绝对数量减少了,而且服务器数据库可以成批编译多个语句而不是单独编译。我们应该对于这

6、个属性和PacketSize属性用不同的值来试验,以优化我们的更新。可以在“查询”菜单的“高级选项”对话框中设置该属性,或者通过DBSETPROP()或CURSORSETPROP()函数来设置。注意若要使用这个属性,必须通过调用DBSETPROP()或SQLSETPROP()函数设置“Transactions”属性来启动人工事务。5.使用PacketSize属性PacketSize属性控制向数据库服务器传送和下载的网络包的大小(按照字节)。它实际上是由ODBC设置的,并且可以是任何非零值。不同的网络

7、对该属性有不同的处理,因此我们应该参阅网络服务文档。该属性的默认值是4096字节。如果我们的网络支持更大的数据包,我们可以在每次请求(SELECT、INSERT、UPDATE、DELETE)时将该属性值增加以加大网络吞吐量。6.使用FetchMemo属性FetchMemo属性控制当从后端取得一个记录时是否也取得备注和二进制(通用字段)数据。请将该属性设置为.F.,这样,直到真正需要时,才从网络传递数据,从而提高我们的查询取得数据的速度。7.在本地机上保存查阅表在很多情况下,我们的应用程序经常访问只读

8、数据。例如,我们的应用程序可能会经常使用一个包括各个公司人员的档案表,将这些数据保存在本地机上(也就是,不把这些表装在服务器上),查询会更快。对于从不更改或很少更改的数据,这个技术会很有用。8.使用本地规则几乎很少有人知道,VisualFoxPro在本地和远程视图中也支持字段级和记录级规则。这些规则是为了防止与数据或商业规则不符的数据进入数据库。可以将这些规则放在视图中,而不仅仅放在后端表中,这样作的好处是:在无效数据通过网络传送之前就可捕获它。缺点是:这些规则并不自

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。