11.2 优化应用程序的技巧 1. 优化表和索引 (1) 如果没有启用记录或表缓冲,应该使用INSERT-SQL命令(因索引只需更新一次),而不要使用APPEND BLANK 命令后再使用REPLACE; (2) 当需要将大量记录追加到索引过的表中时,应先取消或关闭索引,在数据追加完毕,再重建索引,这样速度会快些; (3) 在SQL语句中要尽量避免函数调用; (4) 如果需要经常使用某种索引顺序,应周期性使用此索引对表进行排序,提高表的性能; (5) 在多用户环境中,使用CDX 索引文件比 IDX 索引文件快。
2. 使用Rushmore 技术加速数据访问 使用 Rushmore 技术可以显著地提高查询的速度。Rushmore 是一种从表中快速地选取记录集的技术,它可将查询响应时间从数小时或数分钟降低到数秒。访问单表时,使用 FOR 子句,访问多表时,使用SELECT-SQL 查询,可自动隐含地使用该技术。 (1)访问单个表中的数据,使用一个FOR子句; (2)访问多个表中的数据,使用SELECT-SQL、DELETE-SQL、UPDATE-SQL命令。
3. 优化表单和控件 (1) 使用数据环境; (2)在表单集里限制表单数目; (3)在页框中动态加载页面控件; (4)动态绑定控件与数据; (5)当必须对屏幕进行多处更改时,延迟屏幕刷新; (6)在经常使用的方法程序中减少代码。
4. 提高VFP程序性能的一般技巧 (1)数据要选择正确的数据类型 (2)避免重复打开文件,需要打开多个文件时,将它们分配给不同的工作区,需要时使用SELECT命令选择工作区; (3)尽量使用FOR…ENDFOR循环,而不要使用DO WHILE…ENDDO循环,因为FOR循环较快; (4)从多个字段复制数据时,用SCATTER TO ARRAY 比用SCATTER MEMVER快; (5)为了有效的使用内存,避免在需要对象之前就创建它们,当不要该对象时应及时清除它; (6)尽量将输出发送到顶层窗口,速度快些; (7)使用SET TALK OFF命令取消状态显示,可节省屏幕顶端更新时间; (8)将SET DOHISTORY 设置为OFF,避免当运行程序时每次都更新命令窗口; (9)使用名称表达式代替宏替换,因为名称表达式更快; (10)有效地引用对象属性: ·优化对属性的重复引用,可将属性值保存到一个变量中,再进行更改,在完成时一次性的设置属性; ·有效地引用多个属性,可以用WITH…ENDWITH命令避免重复查找同一个对象,或将对象的引用保存在变量中。
 
2/2 首页 上一页 1 2 |