欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

MySQL?原理優(yōu)化之Group?By的優(yōu)化技巧

 更新時(shí)間:2022年08月14日 10:43:35   作者:51CTO崔皓???????  
這篇文章主要介紹了MySQL?原理優(yōu)化之Group?By的優(yōu)化技巧,文章圍繞主題展開(kāi)詳細(xì)的內(nèi)容介紹,具有一定的參考價(jià)值,需要的小伙伴可以參考一下

今天來(lái)看看MySQL 中如何多Group By 語(yǔ)句進(jìn)行優(yōu)化的。

先創(chuàng)建tb_user 表如下:

通過(guò)show index from tb_user; 命令查看表,沒(méi)有存在任何的索引。

執(zhí)行如下代碼,查看SQL 執(zhí)行情況

explain select profession, count(*) from tb_user group by profession ;

發(fā)現(xiàn)返回結(jié)果中 type 為“ALL” ,Extra 返回“Using temporary” 說(shuō)明沒(méi)有使用索引。

于是,創(chuàng)建基于profession,age和status 的索引如下:

create index index_user_pro_age_sta on tb_user(profession ,age, status);

這里創(chuàng)建索引從左到右的順序是 profession ,age, status。

此時(shí)再次執(zhí)行SQL執(zhí)行計(jì)劃如下:

explain select profession, count(*) from tb_user group by profession ;

發(fā)現(xiàn)使用了索引“index_user_pro_age_sta”。說(shuō)明在執(zhí)行 group by操作的時(shí)候,使用聯(lián)合索引是有效的。

接著在看使用如下代碼:

explain select age, count(*) from tb_user group by age;

SQL 語(yǔ)句使用age 進(jìn)行g(shù)roup by,查看explain的結(jié)果如下:

在Extra 字段中發(fā)現(xiàn)使用了“Using temporary”,說(shuō)明沒(méi)有走索引,是因?yàn)闆](méi)有滿足索引的最左前綴法則

聯(lián)合索引 index_user_pro_age_sta的順序從左到右分別是 profession ,age, status。

上面的SQL 語(yǔ)句Group by 后面接著的是age ,因此出現(xiàn)“Using temporary”。

這里對(duì)SQL 進(jìn)行修改。如下:

explain select profession,age, count(*) from tb_user group by profession, age;

由于group by 后面跟著profession, age ,符合聯(lián)合索引的創(chuàng)建順序,因此索引生效。

我們?cè)賮?lái)試試再加入過(guò)濾條件的情況,加入profession = 軟件工程,此時(shí)group by 里面只顯示 age,那么此時(shí)是否會(huì)走索引, 答案是 using index。因?yàn)闈M足了最左前綴法則。

explain select age, count(*) from tb_user where profession = '軟件工程' group by age;

總結(jié)一下:

SQL在分組操作的時(shí)候,可以通過(guò)索引來(lái)提高效率。做分組操作的時(shí)候,索引的使用需要滿足最左前綴法則。

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

相關(guān)文章

  • MySQL SQL語(yǔ)句優(yōu)化的10條建議

    MySQL SQL語(yǔ)句優(yōu)化的10條建議

    這篇文章主要介紹了MySQL中SQL語(yǔ)句優(yōu)化需要注意的10點(diǎn),,特別是大型高并發(fā)網(wǎng)站,需要的朋友可以參考下
    2014-03-03
  • 解析優(yōu)化MySQL插入方法的五個(gè)妙招

    解析優(yōu)化MySQL插入方法的五個(gè)妙招

    本篇文章是對(duì)優(yōu)化MySQL插入方法的五個(gè)妙招進(jìn)行了詳細(xì)的分析介紹,需要的朋友參考下
    2013-06-06
  • MySQL學(xué)習(xí)之InnoDB結(jié)構(gòu)探秘

    MySQL學(xué)習(xí)之InnoDB結(jié)構(gòu)探秘

    這篇文章主要是對(duì)InnoDB結(jié)構(gòu)的探秘,InnoDB是基于磁盤(pán)存儲(chǔ),其存儲(chǔ)的最基本單元是頁(yè),大小為16KB。而CPU和磁盤(pán)之間速度相差懸殊,所以通常使用內(nèi)存中的緩沖池來(lái)提高性能,感興趣的同學(xué)可以參考閱讀
    2023-03-03
  • Python?Matplotlib繪圖基礎(chǔ)詳細(xì)教程

    Python?Matplotlib繪圖基礎(chǔ)詳細(xì)教程

    matplotlib是python中用于繪制各種圖像的模塊,功能十分強(qiáng)大,通常與pandas模塊搭配使用,可以生成各種樣視的圖片,用于數(shù)據(jù)的分析和展示,下面這篇文章主要給大家介紹了關(guān)于Python?Matplotlib繪圖基礎(chǔ)的相關(guān)資料,需要的朋友可以參考下
    2022-07-07
  • MySQL中的日期時(shí)間類型與格式化方式

    MySQL中的日期時(shí)間類型與格式化方式

    這篇文章主要介紹了MySQL中的日期時(shí)間類型與格式化方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教
    2022-07-07
  • Django2.* + Mysql5.7開(kāi)發(fā)環(huán)境整合教程圖解

    Django2.* + Mysql5.7開(kāi)發(fā)環(huán)境整合教程圖解

    這篇文章主要介紹了Django2.* + Mysql5.7開(kāi)發(fā)環(huán)境整合教程,本文給大家介紹的非常詳細(xì),具有一定的參考借鑒價(jià)值,需要的朋友可以參考下
    2019-09-09
  • MySQL提取Json內(nèi)部字段轉(zhuǎn)儲(chǔ)為數(shù)字

    MySQL提取Json內(nèi)部字段轉(zhuǎn)儲(chǔ)為數(shù)字

    本文主要介紹了MySQL提取Json內(nèi)部字段轉(zhuǎn)儲(chǔ)為數(shù)字,文中通過(guò)示例代碼介紹的非常詳細(xì),需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-07-07
  • MySQL5.73?root用戶密碼修改方法及ERROR?1193、ERROR1819與ERROR1290報(bào)錯(cuò)解決

    MySQL5.73?root用戶密碼修改方法及ERROR?1193、ERROR1819與ERROR1290報(bào)錯(cuò)解決

    這篇文章主要給大家介紹了關(guān)于MySQL5.73?root用戶密碼修改方法及ERROR?1193、ERROR1819與ERROR1290:...?running?with?--skip-...報(bào)錯(cuò)的解決方法,文中通過(guò)圖文將解決的步驟介紹的非常詳細(xì),需要的朋友可以參考下
    2023-02-02
  • MySQL不就是多表查詢嗎

    MySQL不就是多表查詢嗎

    這篇文章主要介紹了MySQL多表查詢相關(guān)知識(shí),今天我們學(xué)習(xí)要對(duì)多張表進(jìn)行相關(guān)操作,相比較于單一的表來(lái)說(shuō),多張表操作相對(duì)復(fù)雜一些,本文給大家介紹的非常詳細(xì),需要的朋友可以參考下
    2023-06-06
  • MySQL如何快速批量插入1000w條數(shù)據(jù)

    MySQL如何快速批量插入1000w條數(shù)據(jù)

    這篇文章主要給大家介紹了關(guān)于MySQL如何快速批量插入1000w條數(shù)據(jù)的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2021-03-03

最新評(píng)論