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

like关联改写

1、 等价转换
instr:字符串查找函数

INSTR(string,substring [,start_position [,occurrence [,return_option]]])string:源字符串substring:要查找的子串start_position:可选,开始搜索的位置(默认1,负数表示从末尾开始)occurrence:可选,指定查找第几次出现(默认1)return_option:可选,0=返回子串起始位置,1=返回子串结束位置

substr: 字符串截取函数

SUBSTR(string,start_position [,length])string:源字符串start_position:开始位置(正数从开头,负数从末尾)length:可选,要截取的长度(默认到字符串结尾)

LIKE:模糊匹配
其三者之间的转换

2、 问题语句

这里问题在于驱动表为t2,index join次数100万次,前面说过与substr和instr可以等价转换,这里想要转换驱动表,那么就需要用substr。
3、 改写

这里与预期的一样驱动表变为t1表,index join次数降下来,另外注意的是,susbtr获取定长的情况下才做index join,因此这里结合业务可以知道是获取4个字节长度。执行时间从原来的10s下降到0.5s
如果是不定长,大家可以感受一下

这里没有做成index join,而是做成nest loop,反而效率下降了。

4、 小结

(1)Like、substr和instr之间可以相互转换。
(2)substr获取是定长的字符串时可以利用索引做索引连接。
(3)性能优化改写主要是针对问题去找到更加高效的方法去实现。

http://www.jsqmd.com/news/89045/

相关文章:

  • 中国板材品牌哪家好?亦木良品,环保板材/全屋定制板材/装修环保板材/衣柜专用板材/桦木板/FOSB板/橡胶木/多层板/颗粒板定制实力厂家,老牌子,质量稳定性价比高 - 全局中转站
  • 打开软件出现找不到vfp9rchs.dll文件 丢失的情况 下载修复
  • 当Adaboost遇上SVM:时间序列预测的另类打开方式
  • Windows系统文件vsstrace.dll缺少损坏问题 下载修复
  • Windows系统文件wavemsp.dll丢失或损坏的问题 下载修复
  • vue基于Spring Boot的宠物服务平台的应用和研究_3by8b8n8
  • 陪诊陪护小程序|上门打针|院内陪护|陪诊跑腿服务
  • 破局与进化:数字时代下软件测试人才的机遇与挑战
  • JVM 调优的尽头是 AI?我把 GC 日志喂给 DeepSeek,它给出的参数配置让我惊呆了
  • 在晶体塑性有限元模拟中,批量写入晶粒的取向和材料参数是一个常见但繁琐的任务。今天,我们就来聊聊如何用Python脚本自动化这个过程,省去手动输入的麻烦
  • vue基于Spring Boot的宠物领养救助网站 志愿者28170q8a
  • DevOps中的测试文化构建:从工具到思维的全面转型
  • 生物识别系统的测试安全性与漏洞防护实践
  • 智能测试指标动态权重分配研究
  • 量子算法的测试验证挑战:软件测试从业者的新战场
  • MAUI库推荐一:MAUIIcons
  • 基于单片机的酒驾报警刹车系统设计
  • 考研408--数据结构--day2--顺序表及其增删改查 - 指南
  • 强化学习Sarsa求最优策略
  • 基于单片机的PID调节脉动真空灭菌器上位机远程监控设计
  • JS 加密绕过大杀器!SpiderX 自动化工具横空出世,安全人直接封神
  • 【time-rs】time库 ComponentRange 错误类型详解(error/component_range.rs)
  • 一文详解Java中Thread、ThreadGroup 和 ThreadLocal<T> 三者的区别和用途
  • 基于单片机的安全带长度高度拉力监测与自动锁紧控制系统设计
  • std::promise 重难点
  • Qt定时执行:槽函数并非必须
  • 大梵公考:国考省考每一年的岗位一样吗?
  • 基于单片机的井盖安全监测与报警上位机监测系统设计
  • 告别低效爆破!Spray 号称 “目录爆破天花板”,实测效果惊到我了!
  • 大梵公考:国考和省考二选一怎么选?