MySql數(shù)據(jù)庫優(yōu)化之LIMIT 1

數(shù)據(jù)庫優(yōu)化一直都是DBA(數(shù)據(jù)庫管理員)的核心技能,今天學(xué)到了一個新的優(yōu)化方式來分享給大家:LIMIT 1

“LIMIT”是MySql數(shù)據(jù)庫中的一個關(guān)鍵字,常見的用于分頁,那么它是如何做到優(yōu)化數(shù)據(jù)的作用呢?

首先我們先來看一下LIMIT 1的作用,作用就是:只返回一條記錄,即使有多條也忽略其他只返回第一條。

當(dāng)我們知道某條SQL語句的返回結(jié)果永遠(yuǎn)只有一條的時候(例如用戶登錄)它就派上用場了。

實(shí)驗(yàn)

接下來實(shí)驗(yàn)一波,首先來看一下下面這條SQL語句

SELECT * FROM regions WHERE region_name LIKE "%北京市%"?

為了實(shí)驗(yàn)效果,我使用了一個有70萬條數(shù)據(jù)的地區(qū)表,為了增加查詢時間,使用 LIKE 字段來模糊查詢,第一次運(yùn)行沒有加LIMIT 1,運(yùn)行了10次耗時都在0.3s左右

沒有加LIMIT 1

現(xiàn)在加上LIMIT 1來試驗(yàn)一波看看,查詢十次,耗時沒有超過0.1s!


加上LIMIT 1

那么為什么會出現(xiàn)這種情況呢?

因?yàn)槿绻麤]有加 LIMIT 1 的話,數(shù)據(jù)庫會在找到符合條件的記錄以后繼續(xù)向下查詢,繼續(xù)尋找另一個符合條件的記錄,直到最后一條數(shù)據(jù),如果我們已經(jīng)知道得到的數(shù)據(jù)永遠(yuǎn)僅僅只有一條的話,那就可以加上 LIMIT 1,讓數(shù)據(jù)庫找到一條數(shù)據(jù)之后就立刻返回結(jié)果,這樣就大大提升了性能!

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容