后端数据库分页数据查询,实际数据只有几千条,但是 limit 传 1000000,会影响性能吗?

背景:我现在做了一个excel下载的功能。前端请求数据,后端返回数据,前端合成excel给用户。
题目:
我想问一下,两个问题
1.如果查询分页数据的时候,实际数据只有几千条,但是limit传1000000,会影响性能吗?

2.为什么我下载的数据量才几百k,但是传输的数据大小却比几百K大得多?
分别在两台服务器下做的实验:
服务器1:性能比较差,数据带宽也比较低,数据传输截图如下:
image.png
服务器2:性能比服务器1好,数据带宽比较高,数据传输截图如下:
image.png
是不是数据传输宽带太小了,导致需要传输很多个数据包,所以传了大量的数据报文,其中大部分数据用来标记目的地址和用于解包,导致我的数据量很大,但是实际我要取得数据却很少。

阅读 2.6k
2 个回答

我感觉不是你想的那样。但由于你给的信息太少了,所以我只能猜一下你的问题。

  1. 上面的请求的返回数据的确有11.2M那么大。
  2. 但11.2M的数据在生成EXCEL时,并没有全部使用,而是只使用了其中的几百K。

所以我猜你当前的逻辑应该是:生成EXCEL的操作在前台,并非后台。前台先请求数据,再根据请求的数据生成EXCEL。

另:希望下次把信息给全点,别人不会无聊的去研究你的信息。当你的信息值值研究时,可能已经成为真正的大牛了。

1、limit对你的查询场景无影响,因为你从0开始查,相当于全表
2、关于下载的问题,你看下后台的设置尽量压满带宽,第二个http协议包括包头的,所以数据量比较大,body可以后端再加码压缩下

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏