亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

MySQL?原理與優(yōu)化之Limit?查詢優(yōu)化

 更新時間:2022年08月14日 10:52:40   作者:51CTO崔皓  
這篇文章主要介紹了MySQL?原理與優(yōu)化之Limit?查詢優(yōu)化,文章圍繞主題展開詳細的內(nèi)容介紹,具有一定的參考價值,需要的小伙伴可以參考一下

假設有表tb_sku,其表結構如下:

表中大約有200w條記錄,執(zhí)行如下的sql 語句大約 4.36s 返回數(shù)據(jù)

select count(*) from tb_sku;

接著我們使用 對其進行分頁查找:

select * from tb_sku limit 0,10;

limit 語句 其中0 代表起始位置,10 為每頁返回的數(shù)據(jù)數(shù)量。

如上圖所示,很快就返回了查詢結果。

接著我們再使用SQL 語句

select * from tb_sku limit 10,10;

語句從記錄位置10的位置開始再往下返回10 條記錄,也就是第二頁的信息。其返回時間也是比較快。

然后,我們加大起始位置 到100w如下:

select * from tb_sku limit 1000000,10;

此時返回時間需要0.74 s,這說明了使用limit 對大數(shù)據(jù)量的表進行分頁,位置越靠后效率越低。拿上面的例子來說,limit 會先對 100w 的數(shù)據(jù)進行排序,然后再返回10 條數(shù)據(jù),而且僅僅返回100w 到 100w 零10條 的記錄,其他查詢的記錄都會丟棄掉,這種做法查詢排序的代價非常大。

由此我們需要對大數(shù)據(jù)量表進行l(wèi)imit 操作進行優(yōu)化,官方給出的方案是通過覆蓋索引和子查詢的方式進行優(yōu)化

根據(jù)這個思路首先對id 進行查詢:

select id from tb_sku order by id limit 1000000,10;

查詢結果就只需要0.34s 比之前的0.74s要快多了。究其原因,因為直接返回id的信息,并沒有進行回表操作,所以速度別select * 要快

由于我們需要獲得select * 的信息,也就是tb_user 所有字段的信息,因此需要將上面的查詢結果和tb_user 進行jion 操作。

select s.* from tb_sku s ,(select id from tb_sku order by id limit 1000000,10 ) t where s.id = t.id;

這里通過查詢id 和子查詢 的方式將查詢結果縮短為 0.38s,比之前直接通過 select * 的方式要縮短一倍的查詢時間。

到此這篇關于MySQL 原理與優(yōu)化之Limit 查詢優(yōu)化的文章就介紹到這了,更多相關MySQL Limit 優(yōu)化內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • 麒麟系統(tǒng)上安裝?MySQL?8.0.24的詳細步驟(避坑指南)

    麒麟系統(tǒng)上安裝?MySQL?8.0.24的詳細步驟(避坑指南)

    這篇文章主要介紹了麒麟系統(tǒng)上安裝MySQL8.0.24的詳細步驟,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-08-08
  • mysql數(shù)據(jù)庫查詢基礎命令詳解

    mysql數(shù)據(jù)庫查詢基礎命令詳解

    這篇文章主要介紹了mysql數(shù)據(jù)庫查詢基礎命令,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-11-11
  • MySQL之臨時表的實現(xiàn)示例

    MySQL之臨時表的實現(xiàn)示例

    MySQL臨時表是存儲在內(nèi)存或者磁盤上的臨時數(shù)據(jù)表,它們的生命周期只限于當前數(shù)據(jù)庫會話,臨時表的創(chuàng)建和使用方式與普通表類似,本文就詳細的介紹了MySQL之臨時表,感興趣的可以了解一下
    2023-08-08
  • 詳解MySQL事務日志redo log

    詳解MySQL事務日志redo log

    你知道MySQL 中是如何保證數(shù)據(jù)不丟失的嗎,即便是MySQL發(fā)生異常重啟了,數(shù)據(jù)也可以恢復,你了解MySQL產(chǎn)生的事務日志redo log是干嘛的嗎,明白它的工作機制嗎,本文就給大家詳細講解MySQL事務日志redo log
    2023-07-07
  • 實現(xiàn)MySQL數(shù)據(jù)庫鎖的兩種方式

    實現(xiàn)MySQL數(shù)據(jù)庫鎖的兩種方式

    今天我們就來聊一聊數(shù)據(jù)庫的鎖,實現(xiàn)數(shù)據(jù)庫鎖的兩種方式,一個是實現(xiàn)樂觀鎖的方式,一個是實現(xiàn)悲觀鎖的實現(xiàn)方式,文中的代碼示例介紹的非常詳細,需要的朋友可以參考下
    2023-06-06
  • 常見的數(shù)據(jù)庫1045密碼錯誤問題解決方法

    常見的數(shù)據(jù)庫1045密碼錯誤問題解決方法

    連接MySQL數(shù)據(jù)庫時難免會遇到1045錯誤,主要是因為用戶輸入的用戶名或密碼錯誤被拒絕訪問,下面這篇文章主要給大家介紹了關于常見的數(shù)據(jù)庫1045密碼錯誤問題的解決方法,需要的朋友可以參考下
    2023-04-04
  • MySQL修改root密碼的3種實用方法

    MySQL修改root密碼的3種實用方法

    最近在看項目,搭建本地環(huán)境時候,忘記mysql的密碼,怎么修改密碼,網(wǎng)上找了半天,終于配合著幾個帖子搞定了,下面這篇文章主要給大家介紹了關于MySQL修改root密碼的3種實用方法,需要的朋友可以參考下
    2023-11-11
  • MySql主鍵id不推薦使用UUID的原因分析

    MySql主鍵id不推薦使用UUID的原因分析

    MySQL的索引主要分為主鍵索引(PRIMARY KEY),唯一索引(UNIQUE) ,普通索引(INDEX)和全文索引(FULLTEXT) ,主鍵索引是一種特殊的唯一索引,不允許有空值,這篇文章主要介紹了MySql主鍵id不推薦使用UUID的原因分析,需要的朋友可以參考下
    2023-03-03
  • mysql 5.7.20 zip安裝教程

    mysql 5.7.20 zip安裝教程

    這篇文章主要為大家詳細介紹了mysql 5.7.20 zip安裝教程,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-03-03
  • 深入sql數(shù)據(jù)連接時的一些問題分析

    深入sql數(shù)據(jù)連接時的一些問題分析

    本篇文章是對關于sql數(shù)據(jù)連接時的一些問題進行了詳細的分析介紹,需要的朋友參考下
    2013-06-06

最新評論