V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐关注
Meteor
JSLint - a JavaScript code quality tool
jsFiddle
D3.js
WebStorm
推荐书目
JavaScript 权威指南第 5 版
Closure: The Definitive Guide
karasshell
V2EX  ›  JavaScript

ajax 获取的数据列表的排序是后端还是前端来排更好?

  •  
  •   karasshell · 2016-11-08 17:00:23 +08:00 · 5683 次点击
    这是一个创建于 2730 天前的主题,其中的信息可能已经有所发展或是发生改变。

    从性能角度来看的话,是后端把已排好序的列表输出给前端好,还是由前端自己排序?

    16 条回复    2016-11-09 23:04:57 +08:00
    fortunezhang
        1
    fortunezhang  
       2016-11-08 18:40:02 +08:00
    个人观点:如果数据库能排序的话,就数据库排序。如果数据库不能排序的话,那就前端排序。
    invoke
        2
    invoke  
       2016-11-08 18:41:17 +08:00
    数据库能排的话直接 foreach 好一点吧
    darrenfang
        3
    darrenfang  
       2016-11-08 18:44:58 +08:00 via iPhone
    后端
    learnshare
        4
    learnshare  
       2016-11-08 18:48:08 +08:00
    都好,哪个方便哪个来做
    gouchaoer
        5
    gouchaoer  
       2016-11-08 18:50:00 +08:00 via Android
    当然是后端了,顺序包含了信息啊
    tinyjiang
        6
    tinyjiang  
       2016-11-08 19:40:25 +08:00
    单纯你从排序的性能上看:如果不是特别大量的话,前端后端排序都影响不大可以。
    但是:如果你采用了前端分页,数据量又不是特别小(几十几百条),恰巧你又要分页的话,就只能一次性把所有数据都捞出来排序了,性能方面:不管是对于前端还是后端这都是不能接受的!

    请注意我上面两句话描述中的『不是特别大量』以及『数据量不是特别小』
    codeyung
        7
    codeyung  
       2016-11-08 20:12:31 +08:00
    排序一般都是后端排
    除非是那种拿过来需要前端搜索啊
    一般数据不大
    aldenchang
        8
    aldenchang  
       2016-11-08 20:24:02 +08:00 via iPhone
    如果可以 在数据查询时排效率最高
    KentY
        9
    KentY  
       2016-11-08 20:44:21 +08:00
    我觉得这个要看具体情况. 如果是一个比较贵的查询, 而且查询结果又不是很多, 可以前端. 但是前提是, 在上一次查询结果中进行不同排序, 而不是在整个数据库基础上进行排序.

    如果后端查询计算不是非常贵, 那还是后端吧, 毕竟保证了实时性和准确性.
    Jakesoft
        10
    Jakesoft  
       2016-11-08 21:58:21 +08:00
    数据库不排序的话可能会同一 sql 得到的结果不一样。
    aleen42
        11
    aleen42  
       2016-11-08 22:14:09 +08:00
    为了显示我大前端牛逼,当然是前端来
    cxbig
        12
    cxbig  
       2016-11-08 22:43:25 +08:00
    测试,模拟主要访问者的硬件环境,在数据库、后端、前端做性能测试,看看那个效果最好用哪个。
    gujinxin
        13
    gujinxin  
       2016-11-08 23:37:31 +08:00
    分页智能后端排,不分页就前端排
    PEP4JASON
        14
    PEP4JASON  
       2016-11-09 11:16:31 +08:00
    那要看是 什么类型的列表了
    lygmqkl
        15
    lygmqkl  
       2016-11-09 22:53:21 +08:00 via iPhone
    其实前端排序有云计算的感觉,但是关键是数据量 30w 条数据 一次读到前端排序试试,前后端都蛋疼。

    归根到底扯到架构和设计上了,没有前期 well designed 后期肯定累死
    jackie9692
        16
    jackie9692  
       2016-11-09 23:04:57 +08:00
    有分页还是后端
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   2557 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 28ms · UTC 11:28 · PVG 19:28 · LAX 04:28 · JFK 07:28
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.