例如我要从数据库中搜索一个年级的所有学生的名字(数量未知,可能几百,也可能几十万),我是应该在程序中定义一个很大的容器保存,还是应该先利用SQL语句先获取这一个年级的学生数量,再用这个值创建一个动态容器呢?
如果只是用于显示,可以用分页查询。但是如果需要做别的处理,就没有什么好的方法,查询结果中有返回结果条数这个值,可以根据这个值申请空间,如有帮助,请采纳一下,谢谢。
使用数据库的分页查询功能,不能一次性读入所有数据,系统会崩的。
用STL里得vector,它可以冬胎伸长,不需要另外读取学生数量。
您好,我是有问必答小助手,您的问题已经有小伙伴解答了,您看下是否解决,可以追评进行沟通哦~
如果有您比较满意的答案 / 帮您提供解决思路的答案,可以点击【采纳】按钮,给回答的小伙伴一些鼓励哦~~
ps:问答VIP仅需29元,即可享受5次/月 有问必答服务,了解详情>>>https://vip.csdn.net/askvip?utm_source=1146287632
用std::list保存,内存满之前都不会崩。这需要你评估数据量有大,最大大概占用多少内存,如果内存不会被占满,这是最简单的方法了。不要用std::vector,因为vector要分配连续内存,如果你内存4GB,往往不能分配到超过512MB的连续内存。
非常感谢您使用有问必答服务,为了后续更快速的帮您解决问题,现诚邀您参与有问必答体验反馈。您的建议将会运用到我们的产品优化中,希望能得到您的支持与协助!
速戳参与调研>>>https://t.csdnimg.cn/Kf0y