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

Mysql實(shí)驗(yàn)之使用explain分析索引的走向

 更新時(shí)間:2018年01月25日 19:53:55   作者:crelaber  
索引是mysql的必須要掌握的技能,同時(shí)也是提供mysql查詢效率的手段。通過(guò)以下的一個(gè)實(shí)驗(yàn)可以理解?mysql的索引規(guī)則,同時(shí)也可以不斷的來(lái)優(yōu)化sql語(yǔ)句

概述

索引是mysql的必須要掌握的技能,同時(shí)也是提供mysql查詢效率的手段。通過(guò)以下的一個(gè)實(shí)驗(yàn)可以理解?mysql的索引規(guī)則,同時(shí)也可以不斷的來(lái)優(yōu)化sql語(yǔ)句

實(shí)驗(yàn)?zāi)康?/strong>

本實(shí)驗(yàn)是為了驗(yàn)證組合索引的 最左原則

說(shuō)明

此實(shí)驗(yàn)只是為了驗(yàn)證實(shí)際使用索引的結(jié)果,請(qǐng)忽略設(shè)計(jì)的合理性

準(zhǔn)備工作

1、用戶表一張,有uid ,user_name,real_name ,eamil等字段,詳細(xì)見建表語(yǔ)句
2、在user_name字段下增加一個(gè)簡(jiǎn)單索引user_name,在email,mobile,age三個(gè)字段下增加索引complex_index
3、表引擎使用MyISAM,增加
4、準(zhǔn)備97000條數(shù)據(jù)(具體的可以根據(jù)實(shí)際情況來(lái)定數(shù)據(jù)量,這里準(zhǔn)備的是97000+)
5、實(shí)驗(yàn)工具Navcat

建表語(yǔ)句

DROP TABLE IF EXISTS `qz_users`;
CREATE TABLE `qz_users` (
 `uid` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '用戶的 UID',
 `user_name` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL COMMENT '用戶名',
 `real_name` varchar(128) CHARACTER SET utf8 DEFAULT NULL COMMENT '用戶姓名',
 `email` varchar(255) CHARACTER SET utf8 DEFAULT NULL COMMENT 'EMAIL',
 `mobile` varchar(16) CHARACTER SET utf8 DEFAULT NULL COMMENT '用戶手機(jī)',
 `password` varchar(32) CHARACTER SET utf8 DEFAULT NULL COMMENT '用戶密碼',
 `salt` varchar(16) CHARACTER SET utf8 DEFAULT NULL COMMENT '用戶附加混淆碼',
 `avatar_file` varchar(128) CHARACTER SET utf8 DEFAULT NULL COMMENT '頭像文件',
 `sex` tinyint(1) DEFAULT NULL COMMENT '性別',
 `birthday` int(10) DEFAULT NULL COMMENT '生日',
 PRIMARY KEY (`uid`),
 KEY `user_name` (`user_name`(250)),
 KEY `complex_index` (`email`,`mobile`,`sex`)
) ENGINE=MyISAM AUTO_INCREMENT=1 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci;

準(zhǔn)備的查詢語(yǔ)句

explain select * from qz_users where user_name = "ryanhe";
explain select * from qz_users where email = "x";
explain select * from qz_users where email = "x" and mobile = "x" and sex=1;
explain select * from qz_users where email = "x" and mobile = "x";
explain select * from qz_users where email = "x" and sex = "x";
explain select * from qz_users where sex = "x" and mobile = "x";
explain select * from qz_users where mobile = "x" and sex = "0";

結(jié)果分析

使用 user_name 條件

explain select * from qz_users where user_name= "x";

結(jié)果

分析

是否走索引 索引名稱 掃描記錄數(shù)
user_name 1

使用 email 條件

explain select * from qz_users where email = "x";

結(jié)果

分析

是否走索引 索引名稱 掃描記錄數(shù)
complex_index 7

使用 email + mobile + sex條件

explain select * from qz_users where email = "x" and mobile = "x" and sex=1;

結(jié)果

分析

是否走索引 索引名稱 掃描記錄數(shù)
complex_index 1

使用 email + mobile 條件

explain select * from qz_users where email = "x" and mobile = "x";

結(jié)果

分析

是否走索引 索引名稱 掃描記錄數(shù)
complex_index 7

使用 email + sex 條件

explain select * from qz_users where email = "x" and sex = "x";

結(jié)果

分析

][3] 是否走索引 索引名稱 掃描記錄數(shù)
complex_index 7

使用 sex + mobile 條件

explain select * from qz_users where sex = "x" and mobile = "x";

結(jié)果

分析

是否走索引 索引名稱 掃描記錄數(shù)
97185

使用 mobile+ sex 條件

explain select * from qz_users where mobile = "18602199680" and sex = "0";

結(jié)果

分析

是否走索引 索引名稱 掃描記錄數(shù)
97185

結(jié)論

通過(guò)上面的結(jié)果可以得知,當(dāng)設(shè)置了組合索引之后,合理的使用查詢條件的順序是可以避免sql語(yǔ)句的慢查詢的

相關(guān)文章

  • 詳細(xì)介紹windows下MySQL安裝教程

    詳細(xì)介紹windows下MySQL安裝教程

    這篇文章主要給大家介紹的是windows下MySQL安裝教程,其實(shí)好多公司,數(shù)據(jù)庫(kù)的面試題都是不可避免的,甚至一些前端工程師面試的時(shí)候都避免不了被詢問(wèn)到和數(shù)據(jù)庫(kù)有關(guān)的一些問(wèn)題。下面就從最基礎(chǔ)的安裝教程開始,需要的朋友可以參考一下
    2021-11-11
  • MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎實(shí)例代碼

    MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎實(shí)例代碼

    這篇文章主要給大家介紹了關(guān)于MySQL全文索引實(shí)現(xiàn)簡(jiǎn)單版搜索引擎的相關(guān)資料,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家學(xué)習(xí)或者使用MySQL具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-07-07
  • CentOS 6、7下mysql 5.7 詳細(xì)安裝教程

    CentOS 6、7下mysql 5.7 詳細(xì)安裝教程

    這篇文章主要為大家介紹了CentOS 6、7下mysql 5.7 詳細(xì)安裝教程,具有一定的參考價(jià)值,感興趣的小伙伴們可以參考一下
    2018-08-08
  • MySQL常用登錄命令小結(jié)

    MySQL常用登錄命令小結(jié)

    本文主要介紹了MySQL常用登錄命令小結(jié),文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2023-05-05
  • MySQL 數(shù)據(jù)庫(kù)優(yōu)化的具體方法說(shuō)明

    MySQL 數(shù)據(jù)庫(kù)優(yōu)化的具體方法說(shuō)明

    以下的文章主要講述的是實(shí)現(xiàn)MySQL數(shù)據(jù)庫(kù)簡(jiǎn)單實(shí)用優(yōu)化的具體方法,以及在實(shí)際操作中有哪些具體操作步驟是值得我們大家注意的。
    2010-05-05
  • you *might* want to use the less safe log_bin_trust_function_creators variable

    you *might* want to use the less safe log_bin_trust_function

    you *might* want to use the less safe log_bin_trust_function_creators variable
    2011-07-07
  • 簡(jiǎn)單解決Windows中MySQL的中文亂碼與服務(wù)啟動(dòng)問(wèn)題

    簡(jiǎn)單解決Windows中MySQL的中文亂碼與服務(wù)啟動(dòng)問(wèn)題

    這篇文章主要介紹了Windows中MySQL的中文亂碼與服務(wù)啟動(dòng)問(wèn)題,如果程序沒有特殊需要?jiǎng)t建議MySQL盡量默認(rèn)設(shè)為UTF-8格式編碼,需要的朋友可以參考下
    2016-03-03
  • MySQL帶你秒懂索引下推

    MySQL帶你秒懂索引下推

    如果你在面試中,聽到MySQL5.6”、“索引優(yōu)化” 之類的詞語(yǔ),你就要立馬get到,這個(gè)問(wèn)的是“索引下推”。本文就來(lái)分分享這個(gè)小知識(shí)點(diǎn)索引下推
    2021-09-09
  • 通過(guò)mysql show processlist 命令檢查mysql鎖的方法

    通過(guò)mysql show processlist 命令檢查mysql鎖的方法

    show processlist 命令非常實(shí)用,有時(shí)候mysql經(jīng)常跑到50%以上或更多,就需要用這個(gè)命令看哪個(gè)sql語(yǔ)句占用資源比較多,就知道哪個(gè)網(wǎng)站的程序問(wèn)題了。
    2010-03-03
  • C3P0連接池+MySQL的配置及wait_timeout問(wèn)題的解決方法

    C3P0連接池+MySQL的配置及wait_timeout問(wèn)題的解決方法

    這篇文章主要介紹了C3P0連接池+MySQL的配置及wait_timeout問(wèn)題的解決方法,本文介紹的非常詳細(xì),具有參考借鑒價(jià)值,需要的朋友可以參考下
    2016-09-09

最新評(píng)論

新余市| 从化市| 宁安市| 梁平县| 阜康市| 西城区| 福鼎市| 孝昌县| 谷城县| 蓝田县| 土默特右旗| 天水市| 鹰潭市| 瑞金市| 辉南县| 海阳市| 石台县| 虞城县| 凭祥市| 中西区| 漾濞| 托克逊县| 和林格尔县| 寿阳县| 成安县| 扎兰屯市| 霍州市| 玛沁县| 罗平县| 大冶市| 彰武县| 额敏县| 尼玛县| 噶尔县| 都江堰市| 即墨市| 临西县| 建水县| 沂水县| 阜南县| 巴林左旗|