您好,登錄后才能下訂單哦!
本篇文章給大家分享的是有關MYSQL 5.7 VS 8 用函數的示例分析,小編覺得挺實用的,因此分享給大家學習,希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。
話歸今天的話題,MYSQL使用函數,呵呵,函數哪里都有用的,三思三思個屁,我用的好好的,是不是你自己寫的函數太爛,才讓別人三思。
OK 我們看下邊一個實驗
1 MYSQL 5.7,為什么建立這樣一張表,因為這名字大家都喜聞樂見
此時都沒有什么異常,下圖就開始出現“水怪”了
為什么,為什么,為什么,其他的都沒有問題,就第三個查詢的時間要5秒,
是不是MYSQL 8 就沒有這樣的問題了
到MYSQL 8.015 這個版本,這個問題還是有的。
故弄玄虛到現在,到底是什么問題,怎么了?
同樣查詢一張普通的不能在普通的表,只是字段變化了,而查詢時間一個要5秒,一個只要不到1秒。
我們來捋一捋,這里有什么不同
1 表時很普通的,沒有問題
2 有的字段加索引了,有的字段沒有加
3 查詢慢的那個,是沒有加索引的
4 總體數據一共5條
5 在沒有使用函數 SLEEP的時候,查詢的速度是一樣的
5 查詢有GROUP BY 和 LIMIT
那么關鍵不同點在哪里,1 函數,2索引
但問題是你不能保證你使用函數的查詢的列一定是有索引吧?
那既然是這樣,我們在深入一下,為什么會這樣,到底為什么可能會是這樣? 更不幸的是我查了一下慢查詢語句,里面根本就沒有這條超過我設定 1秒就記錄規則應該被記錄的這條語句。
這讓我想起,不主動,不拒絕,不負責,這三句,哎。
試想這是這個表就5條數據,要是500萬行呢,呵呵,估計哭的不知道哪里是北了。
那問題到底出在哪里了,下面這個圖已經解釋了部分的原因,我想你已經明白了,所以MYSQL的函數,在應用的時候,要小心,三思,三思。
以上就是MYSQL 5.7 VS 8 用函數的示例分析,小編相信有部分知識點可能是我們日常工作會見到或用到的。希望你能通過這篇文章學到更多知識。更多詳情敬請關注億速云行業資訊頻道。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。