现在有个web应用,需要从数据库查询1万条记录,到页面显示,
1万条记录是满足所有条件的记录,为了让用户通过检索条件,来显示自己需要的数据,
那这个过滤是在前台做,还是在后台做,
比如:
条件设置为0,查询出来的数据就是1万条,
条件设置为1,查询出来的数据就是9千条左右,
条件设置为2,查询出来的数据就是8千条左右,
条件设置为3,查询出来的数据就是7千条左右,
条件设置为4,查询出来的数据就是6千条左右,
条件设置为5,查询出来的数据就是5千条左右,
以上只是举个例子说明情况,
现在是关于数据的过滤是在前台做,还是在后台做的问题:
方法1:先从数据库里面查询出1万记录到前台,数据到前台之后,再根据用户动态选择过滤条件用js过滤;
方法2:将过滤条件传到后台,查询和过滤都在后台进行,然后把最后结果返回页面;
大家给给建议;
其实58同城租房搜索就是设置很多的条件过滤:
北京-->丰台-->六里桥-->1000元以下-->二室-->单间出租-->个人;
最后才缩小了很小的一个范围;

解决方案 »

  1.   

    后台,好操作,到了前台就比较麻烦了。
      

  2.   

    肯定是后台了,要不然数据量大就需要很大的内存,访问数据库并发也会增大
      

  3.   

    每次改变条件,都从数据库重新检索
    如果是一次查询出来全部记录,然后将数据保存到用户本地,
    用js来过滤处理,这样不就节省网络带宽了吗
    而且在本地检索也快
    不知道我分析的是否正确!
      

  4.   

    前台过滤的效率远没有后台快 再者前台不应该去处理大量的数据 用户体验不好 
      

  5.   

    为啥不前后台都做优化呢???
      

  6.   

    因为数据库里的数据不是固定不变的,所以你把它都先加载到了页面,再根据js去过滤时,难免有另一个客户端已经改变了这些值。第一种方法就没有任何意义。
      

  7.   

    后台,性能和数据的真实性都更好。
      

  8.   

    归根结底,还是js处理大量数据的运算能力欠佳,是吧
      

  9.   

    我感觉你1万条数据应该不会在一个页面显示的,应该是分页显示,如果是分页显示的话,就没有你说的这个什么大数据量问题了,另外对于抛开这个问题来说,大数据量是前台优化还是后台优化,个人建议一般都是后台优化,在你查询数据库的时候,或者说你缓存数据的地方
      

  10.   

    后台吧,你从后台查出来的需要一定的时间,你的数据比较多,最好先过滤了之后在传到前台,这样可以减少内存和前台过滤的时间。