当前位置: 首页 > news >正文

织梦网站优化教程百度小程序制作

织梦网站优化教程,百度小程序制作,优化营商环境心得体会2023,网站的系统帮助基于 mysql 8.0 基础介绍 com.mysql.cj.protocol.ResultsetRows该接口表示的是应用层如何访问 db 返回回来的结果集 它有三个实现类 ResultsetRowsStatic 默认实现。连接 db 的 url 没有增加额外的参数、单纯就是 ip port schema 。 @Test public void generalQuery() t…基于 mysql 8.0 基础介绍 com.mysql.cj.protocol.ResultsetRows该接口表示的是应用层如何访问 db 返回回来的结果集 它有三个实现类 ResultsetRowsStatic 默认实现。连接 db 的 url 没有增加额外的参数、单纯就是 ip port schema 。 @Test public void generalQuery() throws Exception {String sql = "select * from test";ps = conn.prepareStatement(sql);ResultSet rs = ps.executeQuery(sql);int count = 0;while (rs.next()) {count++;}System.out.println(count); }那么这个时候、你的 ResultSet 对应的实现类里面的成员变量 com.mysql.cj.protocol.a.result.NativeResultset#rowData的实现类就是 ResultsetRowsStatic 这个时候是最蠢的模式、因为 mysql 的驱动层只有接收完 db 所有数据才会返回到应用层。对应代码就是 ResultSet rs = ps.executeQuery(sql); 应用到线程会卡住在这里。直到驱动层返回。 假如表 test 中有 100w 数据、那么发生 OOM 到地方将会是 mysql 驱动层内部的代码、因为它自己将数据存起 // 来源 com.mysql.cj.protocol.a.BinaryResultsetReader#readBinaryRowFactory brf = new BinaryRowFactory(this.protocol, cdef, resultSetFactory.getResultSetConcurrency(), false);ArrayListResultsetRow rowList = new ArrayList();// 真正获取数据ResultsetRow row = this.protocol.read(ResultsetRow.class, brf);while (row != null) {if ((maxRows == -1) || (rowList.size() maxRows)) {rowList.add(row);}row = this.protocol.read(ResultsetRow.class, brf);}rows = new ResultsetRowsStatic(rowList, cdef);// =============== 分割 ==========private ListRow rows;@SuppressWarnings("unchecked")public ResultsetRowsStatic(List? extends Row rows, ColumnDefinition columnDefinition) {this.currentPositionInFetchedRows = -1;this.rows = (ListRow) rows;this.metadata = columnDefinition;}ResultsetRowsCursor 想要启用这种模式、需要在连接 db 的 url 中加上参数 useCursorFetch=true jdbc:mysql://127.0.0.1:3306/test-db?useCursorFetch=true并且对应的 fetchSize 要大于 0 我们看下源码 com.mysql.cj.jdbc.ConnectionImpl#prepareStatement(java.lang.String) 发现参数 int resultSetType, int resultSetConcurrency 默认值为 private static final int DEFAULT_RESULT_SET_TYPE = ResultSet.TYPE_FORWARD_ONLY;private static final int DEFAULT_RESULT_SET_CONCURRENCY = ResultSet.CONCUR_READ_ONLY;当我们设置了 useCursorFetch=true 之后、useServerPrepStmts 会被设置为 true 在 com.mysql.cj.jdbc.ConnectionImpl#ConnectionImpl(com.mysql.cj.conf.HostInfo) 中 com.mysql.cj.conf.PropertySet#initializeProperties com.mysql.cj.jdbc.JdbcPropertySetImpl#postInitialization if (getBooleanProperty(PropertyKey.useCursorFetch).getValue()) {// assume server-side prepared statements are wanted because they're required for this functionalitysuper.BooleangetProperty(PropertyKey.useServerPrepStmts)
http://www.w-s-a.com/news/734326/

相关文章:

  • 网站色彩心理建设网站的主要功能有哪些
  • 营销型网站建设运营企业宣传网页设计
  • 建设银行官方网站网址sem搜索
  • 简述建设网站的具体步骤网络建设方案ppt
  • 自建门户网站建设工程质量监理协会网站
  • 为企网站版面设计经历了哪几个阶段
  • 如何直到网站是用什么模板做的怎么在外贸公司拿订单
  • 网站专题制作酒店网站建设考虑的因素
  • 苏州招聘网站建设潍坊网站建设wfxtseo
  • 手机网站特效做互联网平台要多少钱
  • 做网站广告推广平台旅游网站后台管理系统
  • ppt模板下载免费素材网站php网站开发平台下载
  • 网站推广策划报告航空航天可以做游戏可以视频约会的网站
  • 云南建设学院的网站划分切片来做网站
  • 建设视频网站需要什么知识辽阳建设网站
  • 提供o2o网站建设打扑克网站推广软件
  • 制作简单门户网站步骤中国建设局网站查询
  • 漳州专业网站建设网站建设的面试要求
  • 有哪些网站是封面型汕头网站上排名
  • 自动优化网站软件没有了做的新网站做百度推广怎么弄
  • 高陵县建设局网站商标查询网站
  • 郑州建设网站哪家好东莞网络公司排行榜
  • 成都网站开发费用做行程的网站
  • 做地铁建设的公司网站手机网站首页布局设计
  • 福建亨立建设集团有限公司网站搜狗网页游戏大厅
  • 设计网站musil访问量大的网站选择多少流量的服务器何时
  • 公司网站包括哪些内容新网站怎样做外链
  • 淘宝宝贝链接怎么做相关网站广州好蜘蛛网站建设
  • 长春网站制作网页博山区住房和城乡建设局网站
  • 云南大学网站建设解析到网站怎样做