旗下导航:搜·么
当前位置:网站首页 > MySQL教程 > 正文

MySQL中两表关联的衔接表怎样建立索引图文详解【MySQL教程】,MySQL,创建,如何

作者:搜教程发布时间:2019-12-01分类:MySQL教程浏览:96评论:0


导读:本文经由过程图文给人人引见了关于MySQL中两表关联的衔接表怎样竖立索引的相干材料,文中引见的异常细致,对人人具有肯定的参考进修代价,须要的朋友们下面来一同看看吧。题目引见...
本文经由过程图文给人人引见了关于MySQL中两表关联的衔接表怎样竖立索引的相干材料,文中引见的异常细致,对人人具有肯定的参考进修代价,须要的朋友们下面来一同看看吧。

题目引见

竖立数据库的索引,能够挑选单列索引,也能够挑选竖立组合索引。

碰到以下这类状况,用户表(user)与部门表(dept)经由过程部门用户关联表(deptuser)衔接起来,以下图所示:


表间关联

题目就是,在这个关联表中该怎样竖立索引呢?

针对该表,有以下四种挑选:

  • 针对于user_uuid竖立单列索引idx_user

  • 针对于user_dept竖立单列索引idx_dept

  • 竖立组合索引idx_user_dept,即(user_uuid,dept_uuid)

  • 竖立组合索引idx_dept_user,即(dept_uuid,user_uuid)

对关联表的查询,有以下四种状况:

-- 一、职员查所属部门用and体式格局
EXPLAIN SELECT d.dept_name,u.* FROM org_dept d,org_user u,org_dept_user duser WHERE u.user_uuid=duser.user_uuid AND d.dept_uuid=duser.dept_uuid AND u.user_code="dev1";
-- 二、职员查所属部门用join体式格局
EXPLAIN SELECT d.dept_name,u.* FROM org_user u LEFT JOIN org_dept_user du ON u.user_uuid=du.user_uuid LEFT JOIN org_dept d ON du.dept_uuid=d.dept_uuid WHERE u.user_code="dev1";
-- 三、部门查职员用and体式格局
EXPLAIN SELECT d.dept_name,u.* FROM org_dept d,org_user u,org_dept_user du WHERE u.user_uuid=du.user_uuid AND d.dept_uuid=du.dept_uuid AND d.dept_code="D006";
-- 四、部门查所属职员用join体式格局
EXPLAIN SELECT d.dept_name,u.* FROM org_dept d LEFT JOIN org_dept_user du ON d.dept_uuid=du.dept_uuid LEFT JOIN org_user u ON u.user_uuid=du.user_uuid WHERE d.dept_code="D006";

测试考证

一.职员查所属部门用and体式格局

1.1 关联表无索引


1.2 单索引 Idx_dept


1.3 单索引 Idx_user


1.4 组合索引 Idx_dept_user


1.5 组合索引 Idx_user_dept


1.6 一切都竖立上


二 、职员查所属部门用join体式格局

2.1 关联表无索引

2.2 单索引 Idx_dept


2.3 单索引 Idx_user

2.4 组合索引 Idx_dept_user


2.5 组合索引 Idx_user_dept


2.6 一切都竖立上


三 、部门查职员用and体式格局

3.1 关联表无索引

3.2 单索引 Idx_dept


3.3 单索引 Idx_user


3.4 组合索引 Idx_dept_user


3.5 组合索引 Idx_user_dept


3.6 一切都竖立上


四 、部门查所属职员用join体式格局

4.1 关联表无索引


4.2 单索引 Idx_dept


4.3 单索引 Idx_user

4.4 组合索引 Idx_dept_user


4.5 组合索引 Idx_user_dept


4.6 一切都竖立上

结论

经由过程上面的现实测试效果能够得出以下结论:针对于该关联表离别针对于user_uuid与dept_uuid竖立单列索引idx_user,idx_dept最优。

个中索引idx_user实用与经由过程职员ID查询出该职员地点的部门;索引idx_dept实用与经由过程部门查询出该部门下所属的职员。

相干引荐:

剖析一下聚合函数与衔接表的组合运用_MySQL

mysql完成两表关联更新_MySQL、

MySQL中表分区的细致引见

以上就是MySQL中两表关联的衔接表怎样竖立索引图文详解的细致内容,更多请关注ki4网别的相干文章!

标签:MySQL创建如何


欢迎 发表评论: