WinForm查询数据库是在程序里分页好点还是在SQL Server写分页存储过程好点?

按道理讲我直接得到一个DataTable,就是一个静态数据了,代码也能再去分页,做成页码按钮。SQL存储过程那种分页一次就意味着我要查一次数据库,大家说一下,是查一次数据... 按道理讲我直接得到一个DataTable,就是一个静态数据了,代码也能再去分页,做成页码按钮。SQL存储过程那种分页一次就意味着我要查一次数据库,大家说一下,是查一次数据库得到N行数据快一点,还是从静态DataTable中得到一次数据快一点?

那如果是我说的,网上大家大秀分页代码的意义何在?仅仅是为了避免大数据库加载查询吗?

如果是这样的画我们何必去一页一页查询,有这个必要吗?100万的数据量,真的有人会一页一页浏览吗?如果仅仅是为了这样,那SQL存储过程分页就有存在意义了,如果不需要,我们为什么不一次性加载好,一页一页地显示呢?
展开
 我来答
阳光的雷咩咩
2016-09-13 · TA获得超过1.4万个赞
知道大有可为答主
回答量:2.3万
采纳率:66%
帮助的人:7826万
展开全部
  1. 查一次数据库得到N行数据快一点,还是从静态DataTable中得到一次数据快一点 --- 必然是后者快,因为直接操作内存

  2. 分页代码的意义何在 --- 哪里秀?我没看到,而且别人秀你管他作甚

  3. 仅仅是为了避免大数据库加载查询吗 --- 主要是为了加快查询速度和减少内存占用,想一想百度搜索如果把上亿数据放一页会怎样

  4. 何必去一页一页查询,有这个必要吗 --- 你说百度怎么办吧

  5. 真的有人会一页一页浏览吗 --- 即便不会,你也不必像3那样真加载百万条到内存吧

  6. 那SQL存储过程分页就有存在意义了 --- 能用当然好,但不是所有数据库都有存储过程,而且人家说分页也不一定就是数据库作数据存储

  7. 为什么不一次性加载好,一页一页地显示呢 --- 就像你说的,既然我们浏览百度基本只看前几页,那你把100万页加载到内存,浪费了网络带宽和服务器务器资源,等着老板炒鱿鱼吧

追问
也就是说看具体应用,像搜索引擎、商城这些网站或者手机商城等需要做分页,为了用户友好合理分配查询时间,也就是我们说的查询时机;如果是不为搜索大数据的目的就直接放内存里分析。那讲来讲去,做分页还是一个迫不得已的方式咯?他实际上只为解决用户友好交互的问题,对吗?
追答
再做个比喻:经典名著通常都分为多少卷/章/然后还是要分页对不对,你自己想一想就通了。主要还是我说的第3点。
推荐律师服务: 若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询

为你推荐:

下载百度知道APP,抢鲜体验
使用百度知道APP,立即抢鲜体验。你的手机镜头里或许有别人想知道的答案。
扫描二维码下载
×

类别

我们会通过消息、邮箱等方式尽快将举报结果通知您。

说明

0/200

提交
取消

辅 助

模 式