最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

MySQL索引優(yōu)化之分頁探索詳細介紹

 更新時間:2021年12月06日 11:13:09   作者:曉果凍阿  
大家好,本篇文章主要講的是MySQL索引優(yōu)化之分頁探索詳細介紹,感興趣的同學趕快來看看吧,對你有幫助的話記得收藏一下,方便下次瀏覽

??MySQL??索引優(yōu)化之分頁探索

表結構

CREATE TABLE `demo` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `name` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '姓名',
  `age` int(11) NOT NULL DEFAULT '0' COMMENT '年齡',
  `position` varchar(50) CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_ai_ci NOT NULL DEFAULT '' COMMENT '職位',
  `card_num` varchar(255) CHARACTER SET utf8 COLLATE utf8_general_ci DEFAULT NULL COMMENT '工卡號',
  PRIMARY KEY (`id`),
  KEY `index_union` (`name`,`age`,`position`)
) ENGINE=InnoDB AUTO_INCREMENT=450003 DEFAULT CHARSET=utf8;

450003條數(shù)據(jù)

limit分頁執(zhí)行情況

MySQL索引優(yōu)化之分頁探索_子節(jié)點

像select * from demo limit 90000,10;考慮到回表,所以mysql干脆選擇全表掃描。

mysql不是直接從第90000行開始計算10條,而是從第一個葉子節(jié)點開始計數(shù),計算90010行。

案例一

MySQL索引優(yōu)化之分頁探索_分頁_02

針對上圖,當id是連續(xù)自增的時候,可以用主鍵篩選出id=90000之后的數(shù)據(jù)。因為主鍵的索引是B+樹結構,本身就是有序的。

MySQL索引優(yōu)化之分頁探索_數(shù)據(jù)_03

案例二

MySQL索引優(yōu)化之分頁探索_數(shù)據(jù)_04

先按照name排序,然后再從第90000行起找10行,雖然name是索引,但select的列在index_union索引樹上并沒有保存。

所以還會涉及到回表,于是mysql直接選擇掃主鍵索引樹的葉子結點,先將40多萬數(shù)據(jù)根據(jù)name排好序,然后計算90000行+10行。

優(yōu)化方法:利用子查詢解決最消耗時間的排序和回表問題,聯(lián)合索引樹種保存有主鍵id,order by name的話可以將name、age、position整個索引充分使用因為確定了最左列的排序,其余的倆列age、和position其實也是

排好序的了,通過Extra字段也可以是使用了索引樹做排序。

最外層的查詢是根據(jù)主鍵來關聯(lián)的,所以幾乎可以忽略。10+10 因為id是主鍵,可以直接拿臨時表10條數(shù)據(jù)去掃。

MySQL索引優(yōu)化之分頁探索_分頁_05

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

相關文章

  • CentOS中mysql cluster安裝部署教程

    CentOS中mysql cluster安裝部署教程

    這篇文章主要介紹了在CentOS 6.3系統(tǒng)上搭建MySQL Cluster 7.2.25集群的相關資料,需要的朋友可以參考下。
    2016-11-11
  • 基于Mysql的Sequence實現(xiàn)方法

    基于Mysql的Sequence實現(xiàn)方法

    下面小編就為大家?guī)硪黄贛ysql的Sequence實現(xiàn)方法。小編覺得挺不錯的,現(xiàn)在就分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2017-09-09
  • master and slave have equal MySQL server ids

    master and slave have equal MySQL server ids

    Fatal error: The slave I/O thread stops because master and slave have equal MySQL server ids
    2013-07-07
  • 從零開始搭建MySQL MMM架構

    從零開始搭建MySQL MMM架構

    這篇文章主要介紹了從零開始搭建MySQL MMM架構,本文講解了配置MySQL Relication、新建同步數(shù)據(jù)庫需要的用戶、同步主從數(shù)據(jù)庫、安裝MMM、配置MMM、啟動MMM等問題,需要的朋友可以參考下
    2015-04-04
  • mysql8.0 用戶角色管理及授權的實現(xiàn)

    mysql8.0 用戶角色管理及授權的實現(xiàn)

    MySQL是一種常見的關系型數(shù)據(jù)庫管理系統(tǒng),它提供了強大的安全機制來管理用戶權限,本文主要介紹了mysql8.0 用戶角色管理及授權的實現(xiàn),具有一定的參考價值,感興趣的可以了解一下
    2024-04-04
  • mysql時間戳轉(zhuǎn)成常用可讀時間格式的兩種方法

    mysql時間戳轉(zhuǎn)成常用可讀時間格式的兩種方法

    mysql時間戳轉(zhuǎn)成常用可讀時間格式的兩種方法,需要的朋友可以參考下。
    2010-09-09
  • MySQL中庫的基本操作指南(推薦!)

    MySQL中庫的基本操作指南(推薦!)

    MySQL這個數(shù)據(jù)庫是一個客戶端-服務器結構的程序,下面這篇文章主要給大家介紹了關于MySQL中庫的基本操作指南,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-02-02
  • mysql case when group by 實例詳解

    mysql case when group by 實例詳解

    這篇文章主要介紹了mysql 中類似php switch case 的語句,需要的朋友可以參考下
    2018-01-01
  • 與MSSQL對比學習MYSQL的心得(七)--查詢

    與MSSQL對比學習MYSQL的心得(七)--查詢

    在這個《與MSSQL對比學習MYSQL的心得》系列里面,我一直都把MYSQL跟SQLSERVER進行比較,相互進行比較是學習一樣東西比較好的方法
    2014-08-08
  • MySQL修改時間添加時間自動更新的兩種方法

    MySQL修改時間添加時間自動更新的兩種方法

    這篇文章主要介紹了MySQL修改時間添加時間自動更新的兩種方法,本文給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2023-09-09

最新評論

横峰县| 广平县| 佛山市| 石家庄市| 郧西县| 石屏县| 墨竹工卡县| 新宁县| 兖州市| 吉木萨尔县| 凤阳县| 阿坝| 琼中| 鄂温| 德江县| 黑水县| 松滋市| 建平县| 阿合奇县| 华阴市| 镇赉县| 石楼县| 平武县| 怀仁县| 惠东县| 通河县| 读书| 老河口市| 周口市| 灵台县| 彭水| 饶平县| 米林县| 丹阳市| 五指山市| 南投市| 宝山区| 微山县| 安远县| 罗平县| 双江|