久久精品人人爽,华人av在线,亚洲性视频网站,欧美专区一二三

怎樣解決5.5版本升級5.7.23SQL不兼容的問題

143次閱讀
沒有評論

共計 1107 個字符,預(yù)計需要花費 3 分鐘才能閱讀完成。

怎樣解決 5.5 版本升級 5.7.23SQL 不兼容的問題,相信很多沒有經(jīng)驗的人對此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個問題。

從 5.5 升級到 5.7.23,反饋該 SQL 在兩個版本執(zhí)行結(jié)果不一樣 (5.5 的返回結(jié)果 30 條,而 5.7.23 返回 57 條)。

SELECT * from k_xxx where sequence 0 AND starttime = 2019-03-28 18:26:06  and id in (SELECT b.id FROM (SELECT * FROM k_xxx as a WHERE a.status=1 AND a.sequence 0 AND a.starttime = 2019-03-28 18:26:06  ORDER 
BY a.starttime DESC,a.edittime DESC) as b GROUP BY b.sequence);

分析:1) 拆分 sql,理出子查詢?nèi)缦拢?/p>

SELECT b.id FROM (SELECT * FROM k_recommend as a WHERE a.status=1 AND a.sequence 0 AND a.starttime = 2019-03-28 18:26:06  ORDER 
BY a.starttime DESC,a.edittime DESC) ;

發(fā)現(xiàn)理出的子查詢在 5.5 跟 5.7.23 都是返回 30 條,由此發(fā)現(xiàn)帶 in 的子查詢可能存在差異

2) 查看 5.5 版本跟 5.7.23 的執(zhí)行計劃

5.5 版本

5.7.23 版本

由上圖可以得出結(jié)論,在 mysql5.7.23 中,將子查詢優(yōu)化成關(guān)聯(lián)查詢,在關(guān)聯(lián)時丟失了對 group by 的處理

3)sql 整改(將子查詢變?yōu)殛P(guān)聯(lián)查詢)

select * from (SELECT a.* FROM k_xxx as a inner join k_xxx as b WHERE a.sequence 0 AND a.starttime = 2019-03-28 18:26:06  and a.status=1 and a.id=b.id group by a.sequence order by a.starttime DESC,a.edittime DESC) as b order by b.sequence;

在升級 mysql5.7 時,可能要對業(yè)務(wù)的查詢帶 group by/order by 的子查詢進行改造,方可升級

看完上述內(nèi)容,你們掌握怎樣解決 5.5 版本升級 5.7.23SQL 不兼容的問題的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注丸趣 TV 行業(yè)資訊頻道,感謝各位的閱讀!

正文完
 
丸趣
版權(quán)聲明:本站原創(chuàng)文章,由 丸趣 2023-07-28發(fā)表,共計1107字。
轉(zhuǎn)載說明:除特殊說明外本站除技術(shù)相關(guān)以外文章皆由網(wǎng)絡(luò)搜集發(fā)布,轉(zhuǎn)載請注明出處。
評論(沒有評論)
主站蜘蛛池模板: 伊吾县| 福安市| 广丰县| 陆良县| 北海市| 涞水县| 阿鲁科尔沁旗| 呼和浩特市| 高台县| 襄城县| 沭阳县| 志丹县| 南木林县| 微山县| 汽车| 绥宁县| 峨边| 汤阴县| 朝阳区| 平和县| 南华县| 井陉县| 郯城县| 平南县| 绵竹市| 昭平县| 江津市| 六枝特区| 新安县| 泰安市| 石狮市| 信阳市| 盘山县| 镇赉县| 邢台市| 额尔古纳市| 乐都县| 嵊州市| 宁河县| 雅江县| 尉氏县|