91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

SQL開發規范中的有哪些誤區

發布時間:2021-11-10 11:16:36 來源:億速云 閱讀:136 作者:iii 欄目:MySQL數據庫

這篇文章主要介紹“SQL開發規范中的有哪些誤區”,在日常操作中,相信很多人在SQL開發規范中的有哪些誤區問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”SQL開發規范中的有哪些誤區”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!

1、假設一個表同時有兩個索引,idx_int_c1,idx_varchar_c2在:select*from tb where c1=100000 or c2='zhishutang';這個SQL會用到哪個索引?為什么?

大多數人都會選擇第一個。其實選擇任何一個索引都是錯誤的。大多數企業都會基于CPU,或者說基于成本優化。如果按照c1來算,兩個條件同時滿足,它會選擇靠前的;如果只能滿足一個,它會選擇最優的,這是成本優化最核心的原理,選擇最適合的狀態。從成本優化的角度,應該誰處于空閑,誰就去工作。不一定是運程最快,最重要的是合適。

2、還有,如何判斷SQL運行的時候,哪個最好。

SQL開發規范中的有哪些誤區

比如上圖中:一個是不加limit,一個是加了limit,如果整體時間都在1S以下,哪一個最好?很多人會說,肯定是加了limit的好。但是,如何證明?

在優化之前,在終端上做下狀態刷新,分別執行這兩個SQL。然后對比數據。比如第一個SQL之前是1個Key,后來讀了17次。而第二個SQL是從1個Key開始讀了4次。這說明第二個動作少,效果更好。所以,判斷一個SQL好還是壞,是可以量化的。

3、另外是關于delete優化的問題。之前,有一個人求助,說一個delete語句執行了2個多小時了,還沒執行完,能不能把這個SQL回滾?答案是不能,如果你直接回滾,會死得更慘。

評價一個SQL能不能回滾,或者說進行到什么程度?大家都有同樣一個感受是,有一個進度條該多好。但事實是,SQL沒有。有很多人很暴力,遇到這種情況會直接重啟。不重啟會卡死,因為它阻塞了后面的任務,SQL不能查詢。

筆者建議不要暴力重啟,先執行一個“show engine innodb status\G”語句,這樣能看到執行時間。如果沒有運行狀態,就可以Kill掉。

到此,關于“SQL開發規范中的有哪些誤區”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

sql
AI

石家庄市| 防城港市| 平昌县| 石景山区| 武平县| 平乐县| 康乐县| 青河县| 平泉县| 犍为县| 五指山市| 礼泉县| 治县。| 多伦县| 西和县| 隆回县| 镇江市| 秦皇岛市| 永顺县| 南和县| 霍邱县| 盐源县| 社会| 东乡县| 大渡口区| 秦安县| 张北县| 新民市| 五华县| 驻马店市| 平果县| 汝南县| 安达市| 鸡东县| 盖州市| 外汇| 巴中市| 浮梁县| 彩票| 永州市| 曲周县|