在我的三层系统中有一个模块,一个主表代一个明细表,有3个明细表每个有20以上个字段,在中间层建立嵌套关系,在客户端打开 Master 表(数据包记录数量设置为0)要大约1.5秒的时间,而用五个单独的Query查询这五个表(只查询1笔资料)要0.06秒,对不同的资料进行多次测试效率差10-40倍,为何在三层系统中间层建立master-detail嵌套表效率如此差,如何调整才能提高效率?!请大家赐教!!!

解决方案 »

  1.   

    其实主要的速度是慢在每次的查询上面楼主看是否可以建立一个视图,即将主、从表的字段加起来的那种
    二是对于每个查询建立一个存储过程,这样省去了SQL编译的时间
      

  2.   

    上面的嵌套表例子是一个单据模块,数据要返回用户界面由用户进行维护的。
    每次在DataBase Server 端的查询时间极短,通过测试,时间损耗是在AppServer中的主从构架的嵌套表的结构上。然而,当我在接口的选项中设置禁止返回嵌套的明细,在客户端设置不自动取得明细表资料后,效率不见改善,好像结论就是 AppServer端的主从构架的嵌套表结构的效率非常低劣,是直接进行SQL查询效率的1/20。请问,我错在那里,如何能够提高 AppServer端的主从构架的嵌套表结构的效率!