我写了一个WebService 用于查表中数据(大概有70万),现在想把这个结果以JSON返回,如何做?
我做了一个拼接JSON格式返回,但在调试发现报错了, 我查过原因是数据太大内存溢出。我改成返回1000条就可以。
想请大侠们帮忙,我要全部数据返回。
返回格式如:{"UserInfo":[{"ID":2,"用户ID":3077,"姓名":"四小"},{"ID":3,"用户ID":2049,"姓名":"青"},{"ID":4,"用户ID":2049,"姓名":"青1"},{"ID":5,"用户ID":2049,"姓名":"松1"},{"ID":6,"用户ID":2049,"姓名":"丹丹"},{"ID":7,"用户ID":2049,"姓名":"马顺松"},{"ID":8,"用户ID":2049,"姓名":"赵文"},{"ID":9,"用户ID":2049,"姓名":"散土户"},{"ID":10,"用户ID":2049,"姓名":"戴夺庆"},{"ID":11,"用户ID":2049,"姓名":"王夺铃"}]}
------解决思路----------------------
循环分批返回,分批处理,如分页
------解决思路----------------------
只能修改用户页面了,点击按钮,先取得一个总数,在循环,每次去2000(或者更多点).直到取完。
------解决思路----------------------
File.AppendText 方法
http://msdn.microsoft.com/zh-cn/library/system.io.file.appendtext(v=vs.80).aspx
------解决思路----------------------
可以肯定地说,写入效率上,SQLite肯定比直接写文本文件慢.但是,慢多少,我没在这种场景下测过.有时间测一下看看.
读的效率上来说,对于文本文件,如果能一次性读入所有,那么它的读效率肯定也高于一次性读入所有SQLite数据.高多少,我也没测过.
不是到SQLite的读写效率和文本文件的差别是否在可接受范围内.
以往对于不这么大量的数据,SQLite的读写效率肯定是能够接受的,但不代表这种场景下能接受.
但是我当时提出用SQLite也是有我的考虑.
对于60万条(甚至更多)数据来说,一个客户端,它拿到这么大量的数据之后,该怎么用它呢?
如果仅仅是需要顺序访问这些记录,那么显然不需要用SQLite,任何一个支持顺序访问的数据容器都可以,文本文件就够用了。
如果它拿到这些数据后,还希望能在这个数据的基础上再作一些操作,比如筛选、排序、重计算……那么这个时候文本文件的效率就绝对远远差于SQLite了。
所以SQLite方案和文本文件方案相比,前者更适合于客户端对拿到的数据还要进行二次处理的场景,文本文件适用于客户端只需要顺序访问拿到的结果集的场景。