批量查询数据库_数据库批量查询-程序员宅基地

技术标签: python  java  数据库  

在向数据库中插入数据时,如果插入过于频繁的话,我们都知道使用批量插入,也即是使用addBatch方法。

那么如果一次查询操作返回的数据量很大,JDBC的方式是一次返回部分数据,就像是流处理那样;还是一次返回全部的数据?

经过简单的调研,发现mysql 和 postgresql都是默认返回全量数据,一些分布式数据库默认返回部分数据,比如说默认返回100条数据,当对这部分数据操作完成后再去数据拉取100条,以此类推,一直到取出全部数据,也就是说内存中最多只有100条数据,不会出现把内存撑爆的现象。

当然JDBC中有这样的方法进行设置,setFetchSize(num),num就是你所想要的每次拉取的数据条数,但是使用中发现这个方法在不同的类中都有,如下

其中这两种设置的区别,我不敢置喙,可自行查阅资料进行区分。

可以参考博客 https://blog.csdn.net/bisal/article/details/82735614

但根据我所了解的使用第一种方法较为稳妥,也即是

pst.setFetchSize(100);

因为在此时设置了fetchSize之后,才进行executeQuery() 方法进行查询操作

而第二种方式是进行查询操作之后,对结果集ResultSet进行setFetchSize设置,我的困惑也来源于此,如果已经执行查询操作,数据已经全部加载到内存,再进行setFetchSize操作,还有什么意义?

以上是java对数据库批量查询,如果是python

直接设置

cursor.fetchmany(10)

即可设置返回的数据条数

 

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_42390215/article/details/88864390

智能推荐

2021最新Java JDK1.8的安装教程_jdk安装-程序员宅基地

文章浏览阅读10w+次,点赞905次,收藏4.2k次。2021最新Java JDK1.8安装教程(超详细)jdk1.8又称jdk8.0,是目前相对比较稳定的版本,不建议下载最新的jdk版本,因为最新版的jdk不稳定,在Java开发可能会出现各种各样的BUG。一、JDK下载1.官网下载点击官网下载地址找到自己电脑相对应的JDK,点击下载。如果不清楚自己的电脑是32位还是64位,可以找到“此电脑”,点击右键,选择属性,点开后就可以找到自己电脑位数。如图:勾选接受许可协议后点击下载会提示登录ORACLE账户,如果没有就用邮箱注册一个登录后就可以下_jdk安装

“新产业50人论坛”之清华龙桂鲁教授:量子信息与创新发展_锗 之争-程序员宅基地

文章浏览阅读212次。​10月23日,由中关村发展集团主办,中关村产业研究院承办的“新产业50人论坛”在中关村国家自主创新示范区展示中心成功举办。本场论坛以“未来即来:数智时代的新产业”为主题,围绕“数智”、“量子”、“双碳”等核心议题,邀请了产业专家与技术专家、国家部委、北京市政府及地方政府相关领导、中央企业及北京市属国企、专业园区相关领导、以及领军企业、投资机构、金融机构、新锐创新创业企业、行业联盟、产业组织与服务机构等相关负责人,齐聚一堂,凝聚发展共识,共话产业发展之路,共谋未来产业新篇。量子前哨作为特邀媒体参加了_锗 之争

结构化思维-思维的结构-程序员宅基地

文章浏览阅读65次。我原来在"这篇总结"中总结过一种的思维方式:TT(Tree-Thinking)。(嘿嘿,程序员嘛,喜欢用本行的术语(Tree)来解释一些现象。)一直以来,我都认为TT思维是很正确的,是比较不错的思维模式。这种方法可以用来考虑很多的事情了。 不过最近发现,事情并不是那么简单。这种TT的结构化思想虽然好,不过并不够。 Graphic Things 事物之间都是存在联系...

Linux学习笔记——linux常用命令_xgars-程序员宅基地

文章浏览阅读516次,点赞4次,收藏8次。原地址:https://www.cnblogs.com/yjd_hycf_space/p/7730690.html本文引用以上链接原文,在此感谢原博主,谢谢!并自己添加了一些本人常用命令,如有错误,欢迎指出,谢谢!进程ps -ef |grep 进程名例如:ps -ef |grep tomcat如果tomcat它是一个Java进程,所以查找Java进程也可查找出来:ps -ef|grep java结..._xgars

Docker学习笔记(1)——基本概念_download-dockerimages.sh 授权问题-程序员宅基地

文章浏览阅读385次。一.了解Docker:Docker是一个开源的引擎,可以轻松的为任何应用创建一个轻量级的、可移植的、自给自足的容器。开发者在笔记本上编译测试通过的容器可以批量地在生产环境中部署,包括VMs(虚拟机)、bare metal、OpenStack 集群和其他的基础应用平台。 Docker通常用于如下场景:web应用的自动化打包和发布;自动化测试和持续集成、发布;在服务型环境中部署和调整数据库或其他的后台..._download-dockerimages.sh 授权问题

你所知道的学习方法,都是错的!-程序员宅基地

文章浏览阅读2.5k次。上课的时候记笔记?哪门功课不行,就集中精力专项突击?自习的时候不要晃,选好一个地儿安安稳稳地待那儿学习?你还在这样学习吗?不要被骗了:这些被我们奉为良好学习习惯的东西,恰恰是冒了学习正道的大不韪。  英文原文:Everything You Thought You Knew About Learning Is Wrong  原文发布于 2012 年 1 月 29 日

随便推点

eclipse设置的断点上有一个斜杠无法进行debug调试解决方法_eclipse断点有斜杠-程序员宅基地

文章浏览阅读1.6k次。以下情况下debug断点会失效解决方法在菜单里面,把skip all breakpoints 选项勾去即可,这个选项可能是你无意间选上的或按快捷键“Ctrl+Alt+B”取消之后就可以正常调试..._eclipse断点有斜杠

C++ 模板函数 二分查找_c++ 二分查找 模板-程序员宅基地

文章浏览阅读3.4k次。C++ 模板函数 二分查找简单二分查找使用模板函数实现二分查找接收函数指针作为比较函数进一步优化简单二分查找二分查找也称对半查找,是一种很常用的,高效率的搜索算法,时间复杂度为O(log N)。该算法假定要查找的数据已经升序排序完毕。算法的思路比较简单,在这里主要是作为一个C++模板函数的一次练习。下面是百度百科上对二分查找查找过程的介绍,忘记了的同学可以看看。首先,假设表..._c++ 二分查找 模板

VSCode设置Tab键为4个空格-程序员宅基地

文章浏览阅读2.7k次。升级之后莫名蛋疼,Tab键变成了8个,每次缩进之后都要格式化一下,比较麻烦,所以来一篇设置:GIF演示整个过程分步骤走:设置一下设置为4个空格最后多一句嘴,Python3开始官方不建议使用制表符,而是建议使用4个空格代表Tab键(VSCode默认也是这样做的)转载于:https://www.cnblogs.com/dotnetcrazy/p/9890316.htm..._vscode设置tab为4个空格

PS一键磨皮插件:dr5白金版for mac 支持ps2021_苹果ps2021dr-程序员宅基地

文章浏览阅读4.7k次,点赞7次,收藏4次。Delicious Retouch 5简称DR5,PS磨皮插件DR5白金版支持安装在Photoshop 2021中使用,亲测好用,这是一款非常好用的PS磨皮插件,有了这款dr5插件,你可以轻松进行美容磨皮、人像修饰等处理,使用很便捷,还在找PS美白磨皮DR5插件的朋友可以来试试哦!Delicious Retouch 5 for mac官方介绍Delicious Retouch 5 (简称DR5),这是一款Photoshop人像美容扩展面板插件,效果非常帮,而且使用面板中包含多种适用于人像修饰的功_苹果ps2021dr

tensorflow GPU测试tf.test.is_gpu_avaiable()返回false解决方法_tf.test.is_gpu_available()-程序员宅基地

文章浏览阅读4.4w次,点赞37次,收藏112次。当你配置好CUDA、cuDNN、tensorflow,并且确保这三者之间的版本对应一致之后,你满怀希望的在终端中输入:In[1] import tensorflow as tfIn[2] tf.test.is_gpu_available()结果生活给了你当头一棒:Out[2]: False这个时候,不要惊慌,先想一想我上面说的CUDA、cuDNN和tensorflow的版本有没有对应一致..._tf.test.is_gpu_available()

ReactNative-Navigation使用_navigation.replace('profile', { owner: 'micha ' })-程序员宅基地

文章浏览阅读384次。详情见React Navigation文档createStackNavigatorcreateStackNavigator();是一个返回包含2个属性的对象的函数:Screen和Navigator。它们都是用于配置导航器的React组件。的元素Navigator应Screen作为其子元素来定义路由的配置。Stack.Navigator 是一个需要进行路由配置的组件,因为它是其子级,并..._navigation.replace('profile', { owner: 'micha ' });

推荐文章

热门文章

相关标签