SQL 百万级别记录优化之 -- 单引号带来的性能下降
生活随笔
收集整理的這篇文章主要介紹了
SQL 百万级别记录优化之 -- 单引号带来的性能下降
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.
2019獨角獸企業重金招聘Python工程師標準>>>
update TIMAGEDATA_TD set MSISDNGROUPID=4 where IMSI >= 13600000000 and IMSI <= 13699999999; IMSI 是一個 char 類型的字段,但是存儲的都是數值類型(歷史問題)。。。
我們知道,oracle ,mysql 都是支持 字符型字段使用 數值的(也就是不加單引號) 查詢條件 直接上結果: 優化之前: 這里可以看到,在字符型 char 使用 數值來作為條件查詢的時候,查詢時間是 24 秒以上, 這是明顯有問題的,trace 之后結果如下: 發現,CPU使用量,等待時間,物理IO請求都是異常的大。 好吧,不在多說,這里就是一個經驗的問題,把查詢條件中的字符類型加上雙引號,如下: trace 結果如下: 總結: 算是一個比較普通的習慣問題,一般人如果有好的習慣也不會有這樣的事情發生, 原理大概是不同類型的話,就需要對每個字段進行類型轉換,那么原有的字段索引就不能使用了, 因為這個表是一個千萬級別的大表,所以導致了全表掃描性能的下降是致命的。。轉載于:https://my.oschina.net/samuelzuuka/blog/733488
總結
以上是生活随笔為你收集整理的SQL 百万级别记录优化之 -- 单引号带来的性能下降的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C# JSON使用过程中开发的小工具
- 下一篇: HttpConnectionUtil