N nero_p Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #21 clientdataset有个属性packetdata最好设置成10 默认是-1即一次打包传送所有的记录! 你再试试吧!
N nero_p Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-24 #22 clientdataset有个属性好象是packetdata 默认是-1,你改成10看看有没有提高! 另外PING以下,看看你网络的延迟是多少
S sherman Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-26 #23 to sunnyliu, 缓存池就是MIDAS的服务器端提供的实体(object)缓冲,它的大小通常是由内存大小 和使用的服务器决定的,对于物件(DataProvider),为了提高客户端的连接,通常会设置 多个实体在缓存池中,而每个DataProvier都是一个DataSet,占用了大量的资源,所以 在物件创建的时候建议不要打开表,而是提供Interface去激活物件,可以减少服务器 端的内存资源占用.
to sunnyliu, 缓存池就是MIDAS的服务器端提供的实体(object)缓冲,它的大小通常是由内存大小 和使用的服务器决定的,对于物件(DataProvider),为了提高客户端的连接,通常会设置 多个实体在缓存池中,而每个DataProvier都是一个DataSet,占用了大量的资源,所以 在物件创建的时候建议不要打开表,而是提供Interface去激活物件,可以减少服务器 端的内存资源占用.
流 流浪者_2008 Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-26 #24 用ADO来存取数据,使用MIDAS以及ADO的控件来存取数据
T tigerricky Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-26 #25 正如nero_p所说,数据查询结果的返回你可以做成有状态的连接,不要一次返回全部数据。而要由客户端调用中间层的方法, 分次操作读取。复杂的数据或报表的生成,你可以在数据库中写成储存过程,把结果生成同步的临时表,由中间层去调用。这样返回 的数据量就是查询的数据量,这样就可以大大减少数据库到中间层的数据流量了[]。
正如nero_p所说,数据查询结果的返回你可以做成有状态的连接,不要一次返回全部数据。而要由客户端调用中间层的方法, 分次操作读取。复杂的数据或报表的生成,你可以在数据库中写成储存过程,把结果生成同步的临时表,由中间层去调用。这样返回 的数据量就是查询的数据量,这样就可以大大减少数据库到中间层的数据流量了[]。
A alan_longwin Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-26 #26 同意tigerricky说法 在三层开发中,一定要注意routetrip大小,要注意分段查询,例如不要用locate的方 这个方法会把所有的数据下到客户段,但要如果分段查询,会带来一会有态连接的问题, 这个问题客户端增多问题就越明显,如果要做到无态分段查询就得从客户端发一标记给APP Server,让APP server分段中下一段记录
同意tigerricky说法 在三层开发中,一定要注意routetrip大小,要注意分段查询,例如不要用locate的方 这个方法会把所有的数据下到客户段,但要如果分段查询,会带来一会有态连接的问题, 这个问题客户端增多问题就越明显,如果要做到无态分段查询就得从客户端发一标记给APP Server,让APP server分段中下一段记录
N nero_p Unregistered / Unconfirmed GUEST, unregistred user! 2002-04-26 #27 MIDAS支持负载平衡、容错能力、CALLBACKS、DATABASE POOLING、OBJECT POOLING 和线程模型。 我建议还是创建无状态的TDATASETPROVIDER,即FETCHONDEMAND属性无FALSE,这样可以 使得TCLIENTDATASET共享连接。TDATASETPROVIDER可以不用为TCLIENTDATASET维护任何信息。 数据的更新和修改可以通过TCLIENTDATASET的APPSERVER来访问IAPPSERVER接口的方法来执行。 例如数据在更新时(即调用APPLYUDDATES时才自动的连接接口完成而不用一直维护该接口的信息) 那么你如果采用分段的方法时,你就需要自己维护了!方法如下: 1、Fetchondemand属性为false,packetdata为10 当客户端调用GETNEXTPACKET时,,在CLIENTDATASET的beforegetrecords事件处理函数中可以把 上次存取数据的最后一壁健值传递给DATASETPROVIDER,然后利用该健值社定DATASETPROVIER的CURSOR 位置。当新的数据来了后,在CLIENTDATASET的AFTERGETRECORDS事件处理函数中你可以存储新 数据的的最后一笔健值,以便下次调用。 具体参阅李维的《DELPHI5。X 分布式多层应用系统篇》
MIDAS支持负载平衡、容错能力、CALLBACKS、DATABASE POOLING、OBJECT POOLING 和线程模型。 我建议还是创建无状态的TDATASETPROVIDER,即FETCHONDEMAND属性无FALSE,这样可以 使得TCLIENTDATASET共享连接。TDATASETPROVIDER可以不用为TCLIENTDATASET维护任何信息。 数据的更新和修改可以通过TCLIENTDATASET的APPSERVER来访问IAPPSERVER接口的方法来执行。 例如数据在更新时(即调用APPLYUDDATES时才自动的连接接口完成而不用一直维护该接口的信息) 那么你如果采用分段的方法时,你就需要自己维护了!方法如下: 1、Fetchondemand属性为false,packetdata为10 当客户端调用GETNEXTPACKET时,,在CLIENTDATASET的beforegetrecords事件处理函数中可以把 上次存取数据的最后一壁健值传递给DATASETPROVIDER,然后利用该健值社定DATASETPROVIER的CURSOR 位置。当新的数据来了后,在CLIENTDATASET的AFTERGETRECORDS事件处理函数中你可以存储新 数据的的最后一笔健值,以便下次调用。 具体参阅李维的《DELPHI5。X 分布式多层应用系统篇》
木 木子小虫 Unregistered / Unconfirmed GUEST, unregistred user! 2003-01-11 #28 最好的方法是,不要的数据,一个也不要从服务器上取过来;需要的数据,分批次取过来! 如果,总是有大量的数据要和服务器交换,速度当然慢!!