曾经听过微软得smart client得讲座,讲座举了一个例子就是类似这个:
一个页面要读取10000+条数据,这时候你怎么操作??
一般操作就是进入页面之后用语句查询数据,但是聪明得办法不是这个。
聪明得办法是在进入这个页面之前就把所有数据读进缓存里面从这里我得到一个结论,缓存将是一个优化性能得主要办法。特别是对于java这样得远离底层得语言,优化更是重要。一家之词,希望大家一起讨论。。

解决方案 »

  1.   

    1、使用java的集合类将客户资料中的索引关键字和搜索范围的数据暂存,而后的每次查询则使用集合类的搜索功能!不过你还要考虑集合中的数据更新问题,比较累
    2、使用数据库查询、对表结构进行优化,建立相应索引,我曾经做过500W条记录的搜索,除了 like %XXX%的搜索(只有一边有%的也很快)几乎查询只在10s以内;当然主要是依赖数据库服务器的性能!实现的方法有很多,用哪种方法主要是看你现实的环境,比如你的数据库服务器偏强,理想的选择是2,如果Web服务器偏强则应该考虑选1。
    期待其他解决方案中.............
      

  2.   

    我有种想法就是采用一种较灵活的结合方式。系统分析员可以根据系统的特点,灵活地为不同的子功能采用不同的MIS系统平台,将两种模式交叉并行使用。
      首先,开发者根据一定的原则,将系统的所有子功能分类,决定哪些子功能适合采用C/S,哪些适合采用B/S。适合采用C/S的子功能应具备以下特点:1安全性要求高;2要求具有较强的交互性;3使用范围小,地点固定;4要求处理大量数据。例如,仓库管理系统中的入库单、领料单的输入功能,财务系统中的凭证输入功能等等。而适合采用B/S的子功能应具备以下特点:1使用范围广,地点灵活;2功能变动频繁;3安全性、交互性要求不同。例如:企业内部信息发布功能,意见箱输入功能,公司财务分析表的查询功能,总裁决策支持系统中的查询功能等等。
      相对于单独采用C/S或B/S,这种方案的优点在于:1保证敏感数据的安全性,特别是对数据库的修改和新增记录加强了控制;2经济有效地利用企业内部计算机的资源,简化了一部分可以简化的客户端;3既保证了复杂功能的交互性,又保证了一般功能的易用与统一;4系统维护简便,布局合理;5网络效率最高。
      如果系统开发者在系统设计阶段决定采用这种C/S与B/S相结合的模式,那么在系统开发生命周期的如下各个阶段相对这种新模式都应有所响应。
      在系统设计阶段主要考虑的是MIS系统平台选择问题。在详细设计阶段,系统开发者需要根据企业自身的业务特点,以及一定的选择原则,来决定各个子功能采用哪一种模式并在系统说明书上分别注明。在编码设计阶段,系统开发者需要针对采用不同模式的子功能,选用不同的编码方式(例如:C/S可以采用VB编程环境,而B/S采用ASP方法),然后编译生成不同的客户应用及Web服务程序。在安装调试阶段,其特点主要体现在系统的物理结构上,即特定的客户应用程序将被安装在特定的使用者的客户端上,Web服务程序需要被安装在Web服务器上,而每个客户端上都将被安装上浏览器,同时,客户应用的使用者必须接受一定的培训。在软件维护阶段,针对不同模式的子功能应采取不同维护方式。
      

  3.   

    插点很小东西,
    公司有一套c/s模式的业务软件,其中有个小功能就是:产品下订单,在表单的输入框中输入 “李”字后 就会见首字为“李”的产品名显示在下来菜单中  如果是1万个产品 那速度就是个问题
    ————————————————————
    这个问题c/s得好像还容易处理一点,主要优化还是在数据库端
    曾经在javaeye看到一个很热得贴就是讨论这个问题得b/s版得,好像很难,因为客户端和服务器端得交互要实时,而且还要考虑到数据量大
      

  4.   

    现在常常看到一些文章说用到XML ,我对XML了解不多,XML除了可以实现统一标准跨平台的数据以外,相比数据库来,在处理数据的速度上,如读取,搜索等会不会比数据库好呢?现在所用到的csdn 看到很多都是xml结尾的
      

  5.   

    实事上使用b/s只是为了实现远程多用户得访问方便而已,如果只是少量用户当然c/s效率高而且方便
      

  6.   

    我觉得应该从几个方面来考虑
    1:实时性,如果要求不高,采用任何技术都能实现,或则采用C/S结构,存储部分数据到本地数据库,这样更快:),如果高,还是老实的跟服务器数据库通讯比较好,但采用XML的方式我不赞同,因为我以前做过一个类似的项目,采用XML来在PB和java中传递数据,数据量很大,很慢……
    期待IPV6……:)
    2:安全性,再安全的WEB也不如C/S系统安全,个人理解,呵呵
    3:用户需求,其实怎么样的操作方式,如果你不能说服客户,那还是听客户的吧
      

  7.   

    在IBM上看到很多文章都是说java +XML配合做系统的  有人实践说xml慢 迷漫中
      

  8.   

    数据库中,一般像Oracle那样分页显示,可以“提高”效率,其实就是查询时类似分区的概念,当前页只显示一部分,可能这部分显示的时候后台还在进行查询,值不过是查询