• ADADADADAD

    怎么在Mysql中使用explain分析索引的走向[ mysql数据库 ]

    mysql数据库 时间:2024-11-29 09:49:28

    作者:文/会员上传

    简介:

    准备工作1、用户表一张,有uid ,user_name,real_name ,eamil等字段,详细见建表语句2、在user_name字段下增加一个简单索引user_name,在email,mobile,age三个字段下增加索引comple

    以下为本文的正文内容,内容仅供参考!本站为公益性网站,复制本文以及下载DOC文档全部免费。

    准备工作

    1、用户表一张,有uid ,user_name,real_name ,eamil等字段,详细见建表语句
    2、在user_name字段下增加一个简单索引user_name,在email,mobile,age三个字段下增加索引complex_index
    3、表引擎使用MyISAM,增加
    4、准备97000条数据(具体的可以根据实际情况来定数据量,这里准备的是97000+)
    5、实验工具Navcat

    建表语句

    DROPTABLEIFEXISTS`qz_users`;CREATETABLE`qz_users`(`uid`int(11)unsignedNOTNULLAUTO_INCREMENTCOMMENT'用户的UID',`user_name`varchar(255)COLLATEutf8mb4_unicode_ciDEFAULTNULLCOMMENT'用户名',`real_name`varchar(128)CHARACTERSETutf8DEFAULTNULLCOMMENT'用户姓名',`email`varchar(255)CHARACTERSETutf8DEFAULTNULLCOMMENT'EMAIL',`mobile`varchar(16)CHARACTERSETutf8DEFAULTNULLCOMMENT'用户手机',`password`varchar(32)CHARACTERSETutf8DEFAULTNULLCOMMENT'用户密码',`salt`varchar(16)CHARACTERSETutf8DEFAULTNULLCOMMENT'用户附加混淆码',`avatar_file`varchar(128)CHARACTERSETutf8DEFAULTNULLCOMMENT'头像文件',`sex`tinyint(1)DEFAULTNULLCOMMENT'性别',`birthday`int(10)DEFAULTNULLCOMMENT'生日',PRIMARYKEY(`uid`),KEY`user_name`(`user_name`(250)),KEY`complex_index`(`email`,`mobile`,`sex`))ENGINE=MyISAMAUTO_INCREMENT=1DEFAULTCHARSET=utf8mb4COLLATE=utf8mb4_unicode_ci;

    准备的查询语句

    explainselect*fromqz_userswhereuser_name="ryanhe";explainselect*fromqz_userswhereemail="x";explainselect*fromqz_userswhereemail="x"andmobile="x"andsex=1;explainselect*fromqz_userswhereemail="x"andmobile="x";explainselect*fromqz_userswhereemail="x"andsex="x";explainselect*fromqz_userswheresex="x"andmobile="x";explainselect*fromqz_userswheremobile="x"andsex="0";

    结果分析

    使用 user_name 条件

    explainselect*fromqz_userswhereuser_name="x";

    结果

    分析

    是否走索引索引名称扫描记录数是user_name1

    使用 email 条件

    explainselect*fromqz_userswhereemail="x";

    结果

    分析

    是否走索引索引名称扫描记录数是complex_index7

    使用 email + mobile + sex条件

    explainselect*fromqz_userswhereemail="x"andmobile="x"andsex=1;

    结果

    分析

    是否走索引索引名称扫描记录数是complex_index1

    使用 email + mobile 条件

    explainselect*fromqz_userswhereemail="x"andmobile="x";

    结果

    分析

    是否走索引索引名称扫描记录数是complex_index7

    使用 email + sex 条件

    explainselect*fromqz_userswhereemail="x"andsex="x";

    结果

    分析

    ][3] 是否走索引索引名称扫描记录数是complex_index7

    使用 sex + mobile 条件

    explainselect*fromqz_userswheresex="x"andmobile="x";

    结果

    分析

    是否走索引索引名称扫描记录数否
    97185

    使用 mobile+ sex 条件

    explainselect*fromqz_userswheremobile="18602199680"andsex="0";

    结果

    分析

    是否走索引索引名称扫描记录数否
    97185
    怎么在Mysql中使用explain分析索引的走向.docx

    将本文的Word文档下载到电脑

    推荐度:

    下载
    热门标签: mysqlexplain