`
jamie.wang
  • 浏览: 347589 次
  • 性别: Icon_minigender_1
  • 来自: 成都
社区版块
存档分类
最新评论

Mysql遍历大表

阅读更多

mysql jdbc默认把select的所有结果全部取回,放到内存中,如果是要遍历很大的表,则可能把内存撑爆。

  • 一种办法是:用limit,offset,但这样你会发现取数据的越来越慢,原因是设置了offset,mysql需要将读取位置移动到offset的位置,随着offset增大,取数据也越来越慢;
  • 另外一种办法是:用数据流的方式取数据,这时需要设置:
stmt = conn.createStatement(java.sql.ResultSet.TYPE_FORWARD_ONLY,
              java.sql.ResultSet.CONCUR_READ_ONLY);
stmt.setFetchSize(Integer.MIN_VALUE);

这时候,mysql jdbc driver,一行行的取结果集。

但这种方式有几个限制:

  1. 只能从该连接只能取完所有结果集后才能运行其他SQL;
  2. resultset.getRow(),是不支持的,调用会抛unsupportedException;

 

分享到:
评论

相关推荐

    MySql练习6:遍历集合,生成HTML文件.zip

    MySql练习6:遍历集合,生成HTML文件.zip MySql练习6:遍历集合,生成HTML文件.zip MySql练习6:遍历集合,生成HTML文件.zip MySql练习6:遍历集合,生成HTML文件.zip

    MySQL存储过程实现树的遍历

    利用MySQL存储过程实现树的初始化、插入、深度遍历、按层遍历、删除操作。可以作为学习存储过程的笑demo

    mysql存储过程基础之遍历多表记录后插入第三方表中详解

    MySQL存储过程是一种预编译的SQL语句集合,用于执行复杂的数据库操作,如遍历多表记录并插入到第三方表中。在本教程中,我们将探讨如何创建和使用存储过程来实现这一目标。 首先,存储过程的主要优点在于它可以提高...

    在java中 遍历mysql中的树形结构

    在MySQL数据库中,表示树形结构的表通常包含以下字段: - `id`:主键,用于唯一标识每个节点。 - `parent_id`:外键,指向其父节点的`id`,根节点的`parent_id`通常为NULL或特殊值。 - `subCode`:节点的代码或...

    TreeTraversal:MySQL树遍历的实际例子

    在MySQL中,创建一个支持嵌套集模型的表通常包括以下字段: - `id`:主键,用于唯一标识每个节点。 - `name`:节点的名称或其他属性。 - `lft`:左值,表示节点的开始位置。 - `rgt`:右值,表示节点的结束位置...

    mysql复杂存储过程实例(游标、临时表、循环、递归)

    本资源结合实例实现一个复杂的存储过程,存储过程中有用到游标、临时表、循环、递归等知识,sql文件附有实例数据表创建的sql语句。

    MySQL 实现树的遍历详解及简单实现示例

    总结来说,虽然MySQL不直接支持树的遍历,但通过临时表和递归存储过程,我们可以实现类似的功能。这种方法虽然相对复杂,但在MySQL中处理层级数据时是有效的解决方案。请注意,如果树的深度非常大,递归可能会变得...

    Oracle的表结构转成Mysql的表结构

    ### Oracle的表结构转成MySQL的表结构 #### 功能概述 本文介绍了一种将Oracle数据库中的表结构转换为MySQL数据库表结构的方法。通过编写一个PL/SQL函数`fnc_table_to_mysql`来实现这一目标。该函数可以接受四个参数...

    mysql Join使用以及优化

    4. 考虑适当分批处理大表的Join操作,特别是在高并发情况下,以减少资源争用。 总之,合理使用和优化MySQL中的Join操作需要综合考虑表结构、索引设计、查询需求和硬件资源等多方面因素。通过实践和反复调优,DBA和...

    java读取excl文件内容进行mysql自动创建表

    本篇将深入探讨如何利用Java读取Excel文件内容,并自动根据这些内容在MySQL数据库中创建相应的表。 首先,我们需要了解Java中用于读取Excel文件的库。Apache POI是一个流行的选择,它提供了对Microsoft Office格式...

    Mysql游标(循环操作)

    - 注释部分表明原本打算删除`Inst_Player_Train`表中对应`PID`的所有记录,但在这里被注释掉了。 - 再次执行`FETCH`命令,尝试获取下一行数据。 ```sql CLOSEcur_record; ``` - **关闭游标**:当所有数据都被...

    会计科目和会计科目分类的两张mysql表,sql语句文件

    本资源提供了两张MySQL数据库表格,分别涉及会计科目和会计科目分类,这对于构建会计信息系统或进行财务数据分析是非常有价值的。 首先,我们来看`subject.sql`文件,这应该是存储会计科目的SQL脚本。在SQL中,创建...

    MySQL学习笔记、学习文档

    Map集合的四种遍历方式.txt Mybatis查询某- -日、周、月数据.txt MySQL安装教程.txt MySQL查询最近-周、月每月、周统计数据.txt MySQL入Ar ]很简单学习笔记李国华.dox Oracle查看表结构.txt SQL作业代理禁用.txt sql...

    MySQL千万级大表深度分页为什么慢,以及优化的方法、原理

    对于大表而言,如果`m`值很大,意味着数据库需要遍历更多的行来找到要返回的`n`条记录。这在没有有效利用索引的情况下,会导致性能急剧下降。 2. **未使用索引的问题:** 在例子中,尽管对`create_time`列创建了...

    Python3遍历指定文件夹下的excel文件,并把数据导入mysql数据库源码

    遍历指定文件夹下的excel文件,打开excel文件之后读取多个sheet中指定的sheet数据,并把读取的数据导入到mysql数据库中,是python写的源码,环境是python3。

    树的前序遍历

    除了递归,还可以使用栈来非递归地实现前序遍历,这种方式对于深度较大的树更有效,因为递归可能导致栈溢出。非递归方法的基本思想是:先将根节点压入栈,然后不断弹出栈顶元素并访问,同时将其左右子节点(如果存在...

    sql 游标遍历 实例

    这个例子中,游标`userCursor`遍历`tempUsers`表中的每一行,然后将数据插入到`users`表中。这个过程持续到所有行都被处理完毕。 总结来说,SQL游标提供了灵活的数据处理能力,尤其是在处理结果集的迭代操作时。...

    VC使用ADO Data和DataGrid控件实现遍历、修改、删除、添加.rar

    在实际开发中,你还需要了解ODBC驱动的安装和配置,以及数据库系统的特定语法,例如SQL Server的T-SQL或MySQL的SQL。此外,确保你的应用程序遵循良好的异常处理和资源管理原则,以提高程序的稳定性和可靠性。 总之...

    网站目录遍历软件

    4. **数据库类型探测**:除了目录遍历,这些工具也可能尝试识别服务器上运行的数据库类型,如MySQL、Oracle、SQL Server等。攻击者可能利用数据库的特定漏洞来获取敏感数据或执行恶意操作。 5. **安全性与风险**:...

Global site tag (gtag.js) - Google Analytics