开发者社区 > PolarDB开源 > PolarDB 分布式版 > 正文

jdbc 驱动 Statement setMaxRows(10) 无效

Statement s = con.createStatement(ResultSet.TYPE_SCROLL_INSENSITIVE, ResultSet.CONCUR_READ_ONLY);

s.setMaxRows(10);

rs = s.executeQuery(query);
// 这一步执行慢,查询了所有数据 而不是设置的10行

展开
收起
2024-05-17 18:39:38 83 0
2 条回答
写回答
取消 提交回答
  • 不知道你是不是对s.setMaxRows(10);这句话有什么曲解,我理解的这个函数是对查询结果返回十行,而不是在查询的时候只取十行,你的sql语句“ query”没有做只取十行的操作,那就是取的全部。所以setMaxRows是肯定起作用的,但是与你想的作用顺序可能不一样

    2024-05-18 15:29:52
    赞同 1 展开评论 打赏
  • 北京阿里云ACE会长

    使用分页查询:如果 setMaxRows 不起作用,您可以考虑使用分页查询的方法。例如,使用 LIMIT 和 OFFSET 子句(在支持 SQL-92 标准的数据库中)来限制查询结果的数量:

    SELECT * FROM your_table LIMIT 10 OFFSET 0;

    2024-05-18 10:03:41
    赞同 展开评论 打赏

PolarDB 分布式版 (PolarDB for Xscale,简称“PolarDB-X”) 采用 Shared-nothing 与存储计算分离架构,支持水平扩展、分布式事务、混合负载等能力,100%兼容MySQL。 2021年开源,开源历程及更多信息访问:OpenPolarDB.com/about

相关电子书

更多
低代码开发师(初级)实战教程 立即下载
冬季实战营第三期:MySQL数据库进阶实战 立即下载
阿里巴巴DevOps 最佳实践手册 立即下载