2026/1/17 12:30:15
网站建设
项目流程
检察院网站建设,vue做的网站模板,外贸设计网站,天津建行网站1、 等价转换
instr#xff1a;字符串查找函数
INSTR(string, substring [, start_position [, occurrence [, return_option]]])
string: 源字符串
substring: 要查找的子串
start_position: 可选#xff0c;开始搜索的位置#xff08;默认1#xff0c;负数表示从末尾开始…1、 等价转换instr字符串查找函数INSTR(string,substring [,start_position [,occurrence [,return_option]]])string:源字符串substring:要查找的子串start_position:可选开始搜索的位置默认1负数表示从末尾开始occurrence:可选指定查找第几次出现默认1return_option:可选0返回子串起始位置1返回子串结束位置substr: 字符串截取函数SUBSTR(string,start_position [,length])string:源字符串start_position:开始位置正数从开头负数从末尾length:可选要截取的长度默认到字符串结尾LIKE:模糊匹配其三者之间的转换2、 问题语句这里问题在于驱动表为t2index join次数100万次前面说过与substr和instr可以等价转换这里想要转换驱动表那么就需要用substr。3、 改写这里与预期的一样驱动表变为t1表index join次数降下来另外注意的是susbtr获取定长的情况下才做index join因此这里结合业务可以知道是获取4个字节长度。执行时间从原来的10s下降到0.5s如果是不定长大家可以感受一下这里没有做成index join而是做成nest loop反而效率下降了。4、 小结1Like、substr和instr之间可以相互转换。2substr获取是定长的字符串时可以利用索引做索引连接。3性能优化改写主要是针对问题去找到更加高效的方法去实现。