下载UniDAC最新版本数据库
Universal Data Access Components (UniDAC)是一款通用数据库访问组件,提供了多个数据库的直接访问,如针对Windows的Delphi, C++Builder, Lazarus (以及 Free Pascal) , Mac OS X, iOS, Android, Linux和64和32位的FreeBSD等等。咱们将长期的经验集于这个小组件,提供统一的数据库链接访问(如oracle、微软SQL等等)。这意味着您能够在您的项目之间轻松地切换不一样的数据库,以及建立跨数据库应用程序接口。服务器
本主题考虑使用数据集的基本阶段以及提升每一个阶段性能的方法。oracle
若是应用程序常常执行链接/断开链接操做,则可使用池模式(TCustomDAConnection.Pooling = True)得到额外的性能。它大大减小了链接从新打开时间(数百次)。这种状况一般发生在Web应用程序中。函数
若是应用程序屡次执行同一查询,则可使用TCustomDADataSet.Prepare方法或设置TDADataSetOptions.AutoPrepare属性以提升性能。例如,它能够为Master/Detail 关系中的细节数据集或TDAUPDATESQL中的更新对象启用。经过这种方式得到的性能增益能够是百分之几到几倍,具体取决于具体状况。性能
要执行SQL语句,TUniSQL组件比TUniQuery更可取。它能够增长几个百分点的性能增益。ui
若是TCustomDADataSet.Options.StrictUpdate选项设置为False,则不计算RowAffected属性,该属性将变为等于零。这能够提升查询执行的性能,所以,若是您须要一次执行许多数据更新语句,而且不介意受影响的行数,请将此选项设置为False。spa
当数据集在关键字段字段上进行本地排序时,Locate函数的工做速度更快。可使用indexFieldNames属性设置本地数据集排序。若是数据集包含大量行,则性能增益可能很大。对象
当查找数据集在本地按查找键排序时,查找字段的工做速度更快。排序
在计算字段和查找字段上进行本地排序和定位时,设置TDadatasetOptions.CacheCalcFields属性能够提升性能。当计算字段表达式包含复杂的计算时,它也颇有用。接口
设置TDADataSetOptions.LocalMasterDetail选项能够经过避免详细刷新时的服务器请求来大大提升性能。设置TDADataSetOptions.DetailDelay选项对于避免频繁切换主数据集记录时刷新详细信息很是有用。
若是应用程序以CachedUpdates模式更新数据集,则将TCustomDADataSet.Options.UpdateBatchSize选项设置为1以上能够经过减小对服务器的请求数来提升性能几百倍。
经过使用Dataset.UpdateObject.ModifyObject、Dataset.UpdateObject等,您还能够稍微提升数据发送性能(几个百分点)。经过设置这些对象的AutoPrepare属性,能够得到不多的额外性能改进。