记一次SQL优化经历
not in 优化的时候,我使用not exists代替,但发现性能并没有提升很多。
后来我才发现,原来在子查询中使用了substring函数(里面还嵌套了indexof函数),这样一来程序将耗费大量时间在处理字符上导致执行缓慢。
后来换了一个思路,字符裁剪以后是进行比较的,那么我将与之比较的字符直接拼接成和它格式一样,这样程序就不需要频繁使用substring函数了。
使用后果然速度答复提升148倍
not in 优化的时候,我使用not exists代替,但发现性能并没有提升很多。
后来我才发现,原来在子查询中使用了substring函数(里面还嵌套了indexof函数),这样一来程序将耗费大量时间在处理字符上导致执行缓慢。
后来换了一个思路,字符裁剪以后是进行比较的,那么我将与之比较的字符直接拼接成和它格式一样,这样程序就不需要频繁使用substring函数了。
使用后果然速度答复提升148倍