數據量:
首先我們看看待優化的SQL:
簡單的分析下來發現:
EXISTS 這部分執行比較慢,我們來看一下,
這種寫法比較便於理解,但是執行起來卻很慢。既然這里慢,我們就要優化這部分。
首先我是想把拼接的字段進行單條拆多條,開始的想法:
拆分后的第一個sql:
這個部分其實從開始就不是慢的原因,所以看第二個部分:
看一下效果,其實效果並不好。
后面請教了一下同事,一些什么緩存表啊啥的,都簡單的測試過,其實並不適合。
后來同事指導下用了關聯表如下:
第一版是以前用了關聯(WS_INST_STEP),后面根據需求,我把關聯表部分去掉了。單獨執行的化兩個速度看不出來,我們放到整體sql中測試一下:
效果其實都還可以,宏觀上相差1s。