最新要闻
- 钉钉个人版来了!将全面接入千问大模型
- 驱动网简介
- 焦点信息:“大块头”正当时,中国经济网带您走进2023上海车展
- 【全球新要闻】20多万有戏!全新宝马iX1纯电SUV发布:中国独享加长版
- 世界热议:钉钉宣布接入通义千问!一条“/”拉高生产力
- 天天新消息丨不给小鹏留活路?理想一只脚踏入纯电领域:城市高阶辅助驾驶也来了
- 天天要闻:小米13 Ultra同时把潜望+1英寸可变光圈塞进手机里 雷军:非常不容易
- 女司机误将车内空调开成热风中暑:交警帮忙开下高速
- 天长新型城镇化提质升级补短板项目开展消防演练
- 环球快播:吃避孕药副作用有哪些_吃避孕药的副作用有什么
- 闹大!近10万人联合抵制 网飞黑人《埃及艳后》摊上事:歧视非裔 篡改历史
- 【世界热闻】Mate60或将首发 华为鸿蒙4.0秋季发布:AI会是亮点
- 曝芒果TV涉嫌恶意扣费 页面无取消续费选项 你中招没
- 要闻:2199元 小米米家无线洗地机2发布:活水杀菌 180°躺平洗地
- 环球讯息:迈威生物(688062)2022年年报简析:增收不增利,存货大幅上升
- 全球热议:新车充电烧毁 特斯拉回应因电流过大:曾甩锅被国家电网硬怼
广告
手机
iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- iphone11大小尺寸是多少?苹果iPhone11和iPhone13的区别是什么?
- 警方通报辅警执法直播中被撞飞:犯罪嫌疑人已投案
- 男子被关545天申国赔:获赔18万多 驳回精神抚慰金
- 3天内26名本土感染者,辽宁确诊人数已超安徽
- 广西柳州一男子因纠纷杀害三人后自首
- 洱海坠机4名机组人员被批准为烈士 数千干部群众悼念
家电
mysql connector 执行 select 和 shardingshpere-proxy 的处理过程
(资料图)
use java mysql connector
// fake mysql select code// ... datasource initConnection conn = datasource.getConnection();PreparedStatement pst = conn.prepareStatement("select id, task_name from t_task where id = ?");pst.setLong(1, 31);pst.executeQuery();
按照直觉, 既然用了 preparedStatement, 执行过一次后会在服务端缓存好预编译的语句, 之后就能省去这个解析过程,直接提交参数执行就好了
- 但是, mysql connector 默认创建的是 ClientPreparedStatement
public PreparedStatement prepareStatement(String sql, int resultSetType, int resultSetConcurrency) throws SQLException { try { synchronized(this.getConnectionMutex()) { this.checkClosed(); ClientPreparedStatement pStmt = null; boolean canServerPrepare = true; String nativeSql = (Boolean)this.processEscapeCodesForPrepStmts.getValue() ? this.nativeSQL(sql) : sql; if ((Boolean)this.useServerPrepStmts.getValue() && (Boolean)this.emulateUnsupportedPstmts.getValue()) { canServerPrepare = this.canHandleAsServerPreparedStatement(nativeSql); } // useServerPrepStmts = false if ((Boolean)this.useServerPrepStmts.getValue() && canServerPrepare) { // ... 省略一些代码 } else { //... 省略一些代码 pStmt = (ClientPreparedStatement)this.clientPrepareStatement(nativeSql, resultSetType, resultSetConcurrency, false); } } } else { pStmt = (ClientPreparedStatement)this.clientPrepareStatement(nativeSql, resultSetType, resultSetConcurrency, false); } return (PreparedStatement)pStmt; } } catch (CJException var17) { throw SQLExceptionsMapping.translateException(var17, this.getExceptionInterceptor()); } }
因为默认并没有设置 useServerPrepStmts = true, 默认是false 去指定要求服务端缓存 创建的 clientPrepareStatement 客户端语句
- 是不是 ClientPreparedStatement 看着客户端侧进行一些元数据的缓存?pst.executeQuery(); 代码中有一段逻辑, 如果cacheResultSetMetadata=true的话,会缓存元数据,但是并没有
boolean cacheResultSetMetadata = (Boolean)locallyScopedConn.getPropertySet().getBooleanProperty(PropertyKey.cacheResultSetMetadata).getValue(); String origSql = ((PreparedQuery)this.query).getOriginalSql(); if (cacheResultSetMetadata) { cachedMetadata = locallyScopedConn.getCachedMetaData(origSql); }
所以,虽然每次还是从服务端拿返回 参数 和 resultSet 的一些元数据
最终发往服务端(这边场景是proxy) 的 sql 其实是非参数化的 com_query 命令
proxy 接收到 com_query 交由 MySQLComQueryPacketExecutor 处理
public Collection> execute() throws SQLException { ResponseHeader responseHeader = proxyBackendHandler.execute(); if (responseHeader instanceof QueryResponseHeader) { return processQuery((QueryResponseHeader) responseHeader); } responseType = ResponseType.UPDATE; return processUpdate((UpdateResponseHeader) responseHeader); }
MySQLComQueryPacketExecutor 常规文本查询,在 proxy frontend 处理过程较为的简单,直接交给 backend 执行,后续就和 sharding-jdbc 核心处理逻辑一致了,比如 分库分表、读写分离、单库单表直接执行
扩展:
- mysql connector 性能相关属性 https://dev.mysql.com/doc/connector-j/8.0/en/connector-j-connp-props-performance-extensions.html
- mysql/server cache 对比 https://vladmihalcea.com/mysql-jdbc-statement-caching/
关键词:
-
mysql connector 执行 select 和 shardingshpere-proxy 的处理过程
usejavamysqlconnector fakemysqlselectcode datasourceinitConnectionconn=datasour
来源: -
【世界播资讯】Nlog-动态修改DatabaseTarget,对数据库字符串进行加密
privatestaticLoggerprocessLogger; ①LnProcessDBLog标签LogManager GetLogger("LnProcessDBLog
来源: 【天天热闻】苹果手机里面的udid怎么查出来
mysql connector 执行 select 和 shardingshpere-proxy 的处理过程
【世界播资讯】Nlog-动态修改DatabaseTarget,对数据库字符串进行加密
精选!Python实现搭建-简单服务器教程
滚动:PHP 7 教程_编程入门自学教程_菜鸟教程-免费教程分享
钉钉个人版来了!将全面接入千问大模型
驱动网简介
头条:【新华500】新华500指数(989001)18日上涨0.24%
焦点信息:“大块头”正当时,中国经济网带您走进2023上海车展
【全球新要闻】20多万有戏!全新宝马iX1纯电SUV发布:中国独享加长版
世界热议:钉钉宣布接入通义千问!一条“/”拉高生产力
天天新消息丨不给小鹏留活路?理想一只脚踏入纯电领域:城市高阶辅助驾驶也来了
天天要闻:小米13 Ultra同时把潜望+1英寸可变光圈塞进手机里 雷军:非常不容易
女司机误将车内空调开成热风中暑:交警帮忙开下高速
天长新型城镇化提质升级补短板项目开展消防演练
世界滚动:好物分享:一款可以加密云盘视频,并依然可在线播放的免费小工具——Alist 云盘视频加密助手!
环球报道:Grafana监控OracleDB的完整过程
环球简讯:Jenkins常用插件
全球热头条丨仅1.0MB,开源压缩软件7-Zip
全量通过,华为云GaussDB首批完成信通院全密态数据库评测
环球快播:吃避孕药副作用有哪些_吃避孕药的副作用有什么
闹大!近10万人联合抵制 网飞黑人《埃及艳后》摊上事:歧视非裔 篡改历史
【世界热闻】Mate60或将首发 华为鸿蒙4.0秋季发布:AI会是亮点
曝芒果TV涉嫌恶意扣费 页面无取消续费选项 你中招没
要闻:2199元 小米米家无线洗地机2发布:活水杀菌 180°躺平洗地
环球讯息:迈威生物(688062)2022年年报简析:增收不增利,存货大幅上升
了解GIS地图和可视化如何改变我们对地理信息的理解
天天热议:火山引擎DataLeap下Notebook 系列文章一:技术选型之路
全球热议:新车充电烧毁 特斯拉回应因电流过大:曾甩锅被国家电网硬怼
环球看点!潍坊风筝节现躺平版“秦始皇” 网友:这是他摔过最狠的一跤
大众拟2026年之前再推10款电动汽车
看热讯:网络编程懒人入门(十五):外行也能读懂的网络硬件设备功能原理速成
环球热议:若依前后端分离 代码生成修改(2)
【聚看点】用C#破解Chrome浏览器cookie值
【世界时快讯】3D轻量化引擎推出新技术,模型渲染更逼真!
17.88万起圆你跑车梦 哪吒GT开售:双门四座零百三秒
环球焦点!鸿蒙5G新机来了!WIKO Hi畅享60官宣:4800万金环双摄
全品牌销冠!魅族20系列成3000元档周线上销量第一
内外双2K E6旗舰屏!vivo X Fold2配置详解:九大全球领先科技
环球微速讯:农业农村部:今年全国农作物种子市场总体上供大于求,合格率稳定保持在98%以上
报道:【Git代码仓库托管】上海道宁为您提供构建、扩展和交付安全软件的完整开发人员平台
世界今日讯!windows系统git使用ssh方式和gitee/github进行同步
【天天时快讯】springboot统一响应实体封装+统一异常类管理
当前观察:Redis---哨兵服务
全球即时:python的matplotlib绘制动态图形(用animation中的FuncAnimation)
财政部:将专项债务限额及时下达各地 推动尽快形成实物工作量
世界看热讯:在史上“最热闹”的上海车展 特斯拉竟然缺席了 维权有阴影?
漫威面临征服者康难题
世界微头条丨爆款狂促!玫瑰精油洗发水47.8元买1000ml:解决软塌油头
焦点观察:王一博主演!《长空之王》领跑五一档预售票房榜
72岁王石出手创立私募基金:曾表态市场一定会惩罚暴利
方萍萍:2023年04月18日原油交易策略
秦昊结了几次婚?秦昊的老婆叫什么名字?
罗云熙真实身高体重是多少?罗云熙为什么那么瘦?
粉红法拉利是谁唱的?粉红法拉利完整版歌词
化骨绵掌是什么意思?化骨绵掌是谁的绝招?
车俊焕多大了?车俊焕个人资料介绍
【世界报资讯】Go 单表头结构体导入导出
世界看点:nginx服务在高并发场景下的优化方案及具体配置
今日观点!兔子产子问题
关注:大连积极扩大有效投资加速迈向“万亿GDP城市”
【财经分析】紧缩预期压制买需 2月超六成海外“债主”抛售美债
视讯!新华社重庆分社社长李勇:将从三方面助力重庆数字政府建设
首批扩募REITs将召开持有人大会
每日热议!生产力起飞!金山官宣WPS AI:聊天帮忙做好Word文档
环球今日报丨发布三个月跳水超1000!苹果M2版Mac mini降到3478元了
全球快资讯:上海一物流网点起火:快递员怀疑液体可燃 用打火机尝试发现真的可燃
今晚发布!小米13 Ultra配置带你提前看 就差价格了
全球快看:AI绘制90年代“复仇者联盟” 阿汤哥来演钢铁侠
世界速看:uniapp ios app离线打包
如何假装你懂Meta Segment Anything?
前沿资讯!基础电子元器件产业发展专项协调机制年度工作会议在深圳召开
【全球时快讯】游戏掉帧电脑卡顿?这锅CPU不背
四电机原地掉头 奔驰EQG概念车亮相上海车展:全新电池装车
理想汽车累计交付破32万辆 30万元以上新能源品牌销量第一
全球短讯!像人一样开 理想发布理想AD Max 3.0:连路上的狗都能识别
世界新资讯:iPhone 15 Pro新变化:用音量键组合关机重启成过去式
福建省厦门市发布雷雨大风黄色预警
【全球聚看点】如何在 Linux 上录制你的终端操作
dbatools demo
当前速递!一段话理解正向代理和反向代理的区别
热头条丨大数据开发相关技术汇总
环球热消息:6月6日全平台发售!《暗黑破坏神4》已完成开发:送厂压盘
蒙古国发布强沙尘暴预警:今日起席卷全境 影响我国部分地区
天天观热点:抢先看!迪士尼送真人版《小美人鱼》新预告:黑小美人鱼水中甩发画面动情
环球微资讯!蒙古国发布强沙尘暴预警 18日起将席卷全境
债务违约担忧加剧 美国3个月期国库券中标收益率超5%
天天热点!探营2023上海车展:一场新能源和智能化技术的盛宴
【环球报资讯】293份一季报预告逾七成预喜 机械设备等赛道业绩亮眼
【天天聚看点】坐地铁被收15元“超时费”?网友吵翻
环球聚焦:长荣航空两飞机发生碰撞:空客A321把波音777“割喉”了
女子骑摩托车遇沉降路段摔倒遭碾压身亡 竟担主责引争议:网友吵翻
比亚迪汽车APP升级7.0版本:界面全新改版 美观太多了
焦点热议:饲养员用竹竿打大熊猫“暖暖” 园方回应:永不允许此人养熊猫
当前快看:【长测】小米蒸烤箱维修记录:不到一年半就坏了
【天天聚看点】大批“学生特种兵”留宿淄博海底捞:出示车票即可
2023年农牧行业6大CRM系统、5大场景盘点
React 组件进入和退出动画实现
又一家果链代工巨头被苹果拖累 歌尔业绩暴雷:利润暴跌近90%
焦点热议:华为首发L2.9999 新势力们开始卷技术了?