• 多条件分页查询细节


    首先,我详细描述下文章标题里面多条件分页查询的细节具体指什么?

    多条件分页查询是我们常用的功能,今天留意到这样一个细节:

    一般情况下,我们会将提供给用户选择的所有条件列在页面上,然后去判断用户选择了哪些条件,进而在后台动态组织sql去查询数据库。

    而在绝大多数情况下,我们又会做服务端分页。

    页面的布局大致分为三个部分(我自己的理解):条件区域,查询结果区域,页码区域。

    第一种情况:用户选择选择几个条件,点击查询按钮,Ok显示用户想要的结果。

    接下来,用户点击页面区域的某一页,OK显示对应了内容。

    这里我想说的是,用户每点击一次页面区域,都会将条件区域用户选择的条件传给服务端进行分页查询。

    接下来,用户将条件进行了更改,但是并没有点击查询按钮,而是去页码区域点击其中的某一页。这个时候提交给服务端查询的sql里面条件是被更改过的。

    查询的结果也随之变化,但是这种变化并不是用户期望的。

    这就是我想要说的细节,接下来我会用图解的方式展现在京东,凡客,淘宝三个站点进行上面操作的结果。

    我这么理解:站在用户的角度,,就算我对条件做了更改,只要我没有去点击查询按钮,那么就表示查询条件不会生效。

    实际情况是:当用户选择页码区域的某一页时,显示的结果是以更改后的条件查询出来的到这里,我想大家应该知道我在讲什么了吧!

    接下来我们看看京东,凡客,淘宝他们是怎么做的?

    首先是京东:

    我打开京东--笔记本页面,进入高级搜索,也就是多条件查询。选择“惠普”

    之后点击提交---结果如下图,没有任何问题

    下面我增加一个品牌:“华硕”

    我这个时候点击提交按钮,直接去页面区域选择一页,如下图:

    直接点击第三页,显示的结果如下:

    在我没有点击提交按钮的情况下,虽然更改了条件,翻页时我扔希望(我想也是很多用户的期望)显示前一个条件的查询结果。

    凡客的主站上面几乎就没有什么高级搜索,所以就不用截图。用过京东跟凡客的朋友应该有这样一个体验,每次选择一个条件,就会刷新

    我自己觉得,这是不太好的方式,为什么不等用户选择完所有的条件后通过提交按钮来执行查询呢?再来看看淘宝是如何处理的?

    去淘宝搜索羽绒服,我选择如下图所示的两个条件。

    然后确定,同样的,我更改搜索条件,但是不点击确定按钮。直接去页码区域选择任何页码单击。

    直接单击第4页,页面会提交,这个时候淘宝巧妙的地方就出来了,发现原来条件区域里被更改过的条件(没点确定按钮)被恢复到了上一次(如下图)

    呵呵,还是淘宝周到啊!

    今天我们在园子的新闻可以看到双十一,淘宝创造的一个个记录,我们在感叹淘宝拥有的牛b的技术或架构的同时,是不是也对淘宝在细节上的把握表示一下钦佩呢?

    可能我们一想到淘宝就会觉得,它的架构好,技术好,所以理所当然可以支撑海量的pv。对于电子商务网站来说,特别是访问量大的网站,拥有一个好的架构肯定是必然的,

    但是我们是不是也应该在一些细节上面做好,尽可能减少对服务器的压力呢?打个比方:假如凡客每天的pv量是3kw,那么在多条件查询这块,

    如果一个用户本来是选择两个条件,然后单击查询按钮,但是现在的情况是,本来只需一次查询,现在增加了一倍。也许有人觉得这个没什么,

    但是如果是对于千万级别甚至是几亿,十几亿级别的pv数,对于服务器而言额外的压力就是非常巨大的,有一句话这么说:细节决定成败!

    对于我们.NET开发人员来说,本来服务器的成本(Windows)就相对比较高昂,上次看到有资料显示MySpace的服务器有4500台,那得花多少$啊)

    如果不能在细节上多注意,在架构上多下功夫,开发出来的网站也就只能......

    以上是我今天从自己偶然发现的这么一个小的点所想到的,可能有很多不对的或是跟您想法相左的地方,请多多包含和指正。

    我只是个菜鸟,甚至还没到"鸟"的级别,就一新手,还有很多东西需要向大家学习。

    时间不早了,祝大家做个好梦!

  • 相关阅读:
    Python
    git SSL certificate problem: unable to get local issuer certificate
    Chapter 1 Securing Your Server and Network(13):配置端点安全性
    例说linux内核与应用数据通信系列
    Android 学习历程摘要(三)
    线程调度策略SCHED_RR(轮转法)和SCHED_FIFO(先进先出)之对照
    内核工作队列【转】
    android 电池(三):android电池系统【转】
    android 电池(二):android关机充电流程、充电画面显示【转】
    android 电池(一):锂电池基本原理篇【转】
  • 原文地址:https://www.cnblogs.com/Leo_wl/p/2248756.html
Copyright © 2020-2023  润新知