zoukankan      html  css  js  c++  java
  • ClientDataSet中的PacketRecords属性,减轻网络负载,提升服务器与客户端性能

    ClientDataSet.PacketRecords属性控制一次性从数据库服务器读取的数据记录条数,默认值-1(表示全部读取),如果数据量很大,会加重网络负载,影响服务器和客户端性能。将

    PacketRecords设置成一合理的正值表示一次从数据库读取的数量,通常局域网设置成100-500,广域网设置成50-200,视自身需求适当调整,当浏览的数量超过时,会自动从服务器中读取PacketRecords个数据。

    下图PacketReords设置为3,注意状态栏中的数值:

    **************************************************************************************

    具体操作:

    **************************************************************************************

    DBGrid1.DataSource->DataSource1.DataSet->ClientDataSet1.ProviderName->DataSetProvider1.DataSet->

    SQLDataset1.SQLConnection->SQLConnection1具体数据库(这里连接的是oracle中的EMP表);

    SQLDataSet1.CommandText:=SELECT * FROM EMP;ClientDataSet1.Active:=true;

    DBNavigator1.DataSource->DataSource1;

    **************************************************************************************

    相关代码:

    **************************************************************************************

    procedure TForm3.ClientDataSet1AfterGetRecords(Sender: TObject;
      var OwnerData: OleVariant);
    begin
      if ClientDataSet1.Active then
      begin
        StatusBar1.Panels[0].Text := format('%d', [ClientDataSet1.RecordCount]);
      end;
    end;

    连接到ClientDataSet1.AfterGetRecords事件中。能上代码中delphi XE5,win7 x64,Oracle 11g中测试通过

  • 相关阅读:
    Vue(小案例_vue+axios仿手机app)_go实现退回上一个路由
    nyoj 635 Oh, my goddess
    nyoj 587 blockhouses
    nyoj 483 Nightmare
    nyoj 592 spiral grid
    nyoj 927 The partial sum problem
    nyoj 523 亡命逃窜
    nyoj 929 密码宝盒
    nyoj 999 师傅又被妖怪抓走了
    nyoj 293 Sticks
  • 原文地址:https://www.cnblogs.com/sun998/p/6505694.html
Copyright © 2011-2022 走看看