请问分页到底是直接用dataset一次性取好,还是传统的sql分页好?
14 个解决方案
#1
用sql自带的测试工具测一下 看看哪种方式对数据库的压力小点
#2
对于客户端希望分页,对于服务器希望一次性
#3
sql分页
#4
看你的数据量了,5000条以上数据库分页,少5000条内存分页,结合你的服务器硬件权衡吧,不一定
#5
对于客户端希望分页
对于服务器希望一次性
看看你怎么选择了
对于服务器希望一次性
看看你怎么选择了
#6
不知道那位大哥有没有实验过?取最优的方法?
#7
我分页的数据量打死不会超过2500.
#8
一般来说, 是需要分页的,
#9
取到内存就悲剧了 连接数据库时间太长 报超时错误
#10
如果不考虑 翻页时数据库数据变更问题,可以直接全取出来 ,存在dataTable中
2500 没必要翻一次页就连接一次数据库 。
2500 没必要翻一次页就连接一次数据库 。
#11
一日IP10000的这负载,服务器执行会慢吗?
#12
实现方面都不复杂
就算是用gridview这类控件,你取出完整的dataset,它也是通过view的select选择的,如果是用orm直接绑定,那再查询字符串中也是加入了分页sql元素的
如果不用带有分页功能的控件,比如datalist,如果你要分页,那感觉,还是用sql分页的好,毕竟dataset一次性取出来完,你还是要去使用分页数据源或者用逻辑去提取数据
这里你关注了数据量较少(2000),这个问题,从第二种使用不带分页的控件来看,页面上显示2000数据还是有问题的,毕竟页面不能全部显示吧,所以自己操作麻烦
以上都是没有考虑使用缓存这东西的,如果用缓存,2000数据本来就不大,那完全可以在服务器内存中长时间利用该完整dataset,每次用的时候,直接使用来绑定,或者调用dataset的select也是非常方便的!
就算是用gridview这类控件,你取出完整的dataset,它也是通过view的select选择的,如果是用orm直接绑定,那再查询字符串中也是加入了分页sql元素的
如果不用带有分页功能的控件,比如datalist,如果你要分页,那感觉,还是用sql分页的好,毕竟dataset一次性取出来完,你还是要去使用分页数据源或者用逻辑去提取数据
这里你关注了数据量较少(2000),这个问题,从第二种使用不带分页的控件来看,页面上显示2000数据还是有问题的,毕竟页面不能全部显示吧,所以自己操作麻烦
以上都是没有考虑使用缓存这东西的,如果用缓存,2000数据本来就不大,那完全可以在服务器内存中长时间利用该完整dataset,每次用的时候,直接使用来绑定,或者调用dataset的select也是非常方便的!
#13
直接SQL分页了。不会一次取那么多数据的,现在的都是设定一个基值界限,如果客户端需要看XXXX页以后的分页数据,在去修改这个基值,然后在追加分页。和QQ空间里面的“好友动态信息”有点类似
#14
服务器执行不会慢 因为你取出来后保存在客户机器 ,会导致客户的页面load稍微慢
#1
用sql自带的测试工具测一下 看看哪种方式对数据库的压力小点
#2
对于客户端希望分页,对于服务器希望一次性
#3
sql分页
#4
看你的数据量了,5000条以上数据库分页,少5000条内存分页,结合你的服务器硬件权衡吧,不一定
#5
对于客户端希望分页
对于服务器希望一次性
看看你怎么选择了
对于服务器希望一次性
看看你怎么选择了
#6
不知道那位大哥有没有实验过?取最优的方法?
#7
我分页的数据量打死不会超过2500.
#8
一般来说, 是需要分页的,
#9
取到内存就悲剧了 连接数据库时间太长 报超时错误
#10
如果不考虑 翻页时数据库数据变更问题,可以直接全取出来 ,存在dataTable中
2500 没必要翻一次页就连接一次数据库 。
2500 没必要翻一次页就连接一次数据库 。
#11
一日IP10000的这负载,服务器执行会慢吗?
#12
实现方面都不复杂
就算是用gridview这类控件,你取出完整的dataset,它也是通过view的select选择的,如果是用orm直接绑定,那再查询字符串中也是加入了分页sql元素的
如果不用带有分页功能的控件,比如datalist,如果你要分页,那感觉,还是用sql分页的好,毕竟dataset一次性取出来完,你还是要去使用分页数据源或者用逻辑去提取数据
这里你关注了数据量较少(2000),这个问题,从第二种使用不带分页的控件来看,页面上显示2000数据还是有问题的,毕竟页面不能全部显示吧,所以自己操作麻烦
以上都是没有考虑使用缓存这东西的,如果用缓存,2000数据本来就不大,那完全可以在服务器内存中长时间利用该完整dataset,每次用的时候,直接使用来绑定,或者调用dataset的select也是非常方便的!
就算是用gridview这类控件,你取出完整的dataset,它也是通过view的select选择的,如果是用orm直接绑定,那再查询字符串中也是加入了分页sql元素的
如果不用带有分页功能的控件,比如datalist,如果你要分页,那感觉,还是用sql分页的好,毕竟dataset一次性取出来完,你还是要去使用分页数据源或者用逻辑去提取数据
这里你关注了数据量较少(2000),这个问题,从第二种使用不带分页的控件来看,页面上显示2000数据还是有问题的,毕竟页面不能全部显示吧,所以自己操作麻烦
以上都是没有考虑使用缓存这东西的,如果用缓存,2000数据本来就不大,那完全可以在服务器内存中长时间利用该完整dataset,每次用的时候,直接使用来绑定,或者调用dataset的select也是非常方便的!
#13
直接SQL分页了。不会一次取那么多数据的,现在的都是设定一个基值界限,如果客户端需要看XXXX页以后的分页数据,在去修改这个基值,然后在追加分页。和QQ空间里面的“好友动态信息”有点类似
#14
服务器执行不会慢 因为你取出来后保存在客户机器 ,会导致客户的页面load稍微慢