首页

文章

mysql联合索引如何创建?

发布网友 发布时间:2022-04-19 22:19

我来回答

1个回答

热心网友 时间:2023-09-01 03:59



本文介绍了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 ser WHERE u.user_uuid=ser.user_uuid AND d.dept_uuid=ser.dept_uuid AND u.user_code="dev1";
-- 二、人员查所属部门用join方式
EXPLAIN SELECT d.dept_name,u.* FROM org_user u LEFT JOIN org_dept_user ON u.user_uuid=.user_uuid LEFT JOIN org_dept d ON .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 WHERE u.user_uuid=.user_uuid AND d.dept_uuid=.dept_uuid AND d.dept_code="D006";
-- 四、部门查所属人员用join方式
EXPLAIN SELECT d.dept_name,u.* FROM org_dept d LEFT JOIN org_dept_user ON d.dept_uuid=.dept_uuid LEFT JOIN org_user u ON u.user_uuid=.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适用与通过部门查询出该部门下所属的人员。

其它

测试数据

Test.sql

总结

玉米仁子饭产自哪里 中国期货交易所的交易品种有哪些? 历史要怎么读,有啥诀窍 高中历史诀窍 年终会活动策划方案 深度解析:第一财经回放,探索财经新风向 逆水寒手游庄园怎么邀请好友同住 逆水寒手游 逆水寒不同区可以一起组队吗? 逆水寒手游 逆水寒怎么进入好友世界? 逆水寒手游 逆水寒怎么去别人的庄园? 使用puppeteer实现将htmll转成pdf 内卷时代下的前端技术-使用JavaScript在浏览器中生成PDF文档 【译】将HTML转为PDF的几种实现方案 变形金刚08动画怎么样 变形金刚08动画的问题 变形金刚08动画日语版剧情介绍 高分!换显卡nvidia控制面板被我卸了,重新安装显卡驱动后没了nvidia控... 我的nvidia控制面板被卸载了 怎么找回啊 卸载后 这个画面看着很奇怪_百 ... 李卓彬工作简历 林少明工作简历 广东工业职业技术学院怎么样 郑德涛任职简历 唐新桂个人简历 土地入股的定义 ups快递客服电话24小时 贷款记录在征信保留几年? 安徽徽商城有限公司公司简介 安徽省徽商集团新能源股份有限公司基本情况 安徽省徽商集团有限公司经营理念 2019哈尔滨煤气费怎么有税? 快手删除的作品如何恢复 体育理念体育理念 有关体育的格言和理念 什么是体育理念 万里挑一算彩礼还是见面礼 绿萝扦插多少天后发芽 绿萝扦插多久发芽 扦插绿萝多久发芽 炖牛排骨的做法和配料 网络诈骗定罪标准揭秘 “流水不争先”是什么意思? mc中钻石装备怎么做 为什么我的MC里的钻石块是这样的?我想要那种。是不是版本的问题?如果是... 带“偷儿”的诗句 “君不见巴丘古城如培塿”的出处是哪里 带“奈何”的诗句大全(229句) 里翁行()拼音版、注音及读音 带“不虑”的诗句 “鲁肃当年万人守”的出处是哪里 无尘防尘棚 怎么查看mysql 索引的创建语句 MySQL索引怎么工作的 MySQL InnoDB表创建联合唯一索引出错? php+mysql如何建立索引?怎么样运用? MySQL中如何设置唯一索引,联合索引? 如何正确合理的建立MYSQL数据库索引 mysql数据库创建两张表之间的联合索引的sql语句,... 如何创建mysql索引以及索引的优缺点 mysql数据库怎么创建索引 什么是mysql的联合索引,怎么建立mysql的索引。 什么是mysql的联合索引,如何建立mysql的索引 如何给mysql表建立联合索引 淘宝申请退款第二次怎么撤销 二次申请退款能撤回吗 女生什么时候会来白带啊?流多长时间?什么时候不... 女性白带特别多怎么办?什么时候有白带才是正常情... 女性是在什么时候白带会增多? 女孩的白带一般在什么时候来啊 女人的白带什么时候最多 女生是不是都会有白带,一般什么时 MYSQL 如何建立索引及如何使用索引 Mysql联合索引什么时候会被用到 mysql 索引 建立索引(a,b,c) 书上说a,b,c a,b a ... mysql 复合索引为什么让区分度高的列在前面 淘宝没发货,退款申请的话是不是只能申请两次,可以撤销退款申请吗 淘宝上退了一次款第二次不可以撤销退款吗 淘宝第二次申请退款怎么撤回不了 适合衣服店播放的劲爆的歌曲有那些啊!? 给推荐几首摆摊放的音乐。 店铺开张放什么欢快的歌曲 销售现场放的那首很激进的歌叫什么(纯音乐的) 求一些适合在家电大卖场放的激情音乐 最近在楼下听到促销会放的音乐,是一首女声很劲爆... 寻适合销售时放的音乐 大型卖场经常放的音乐 爱好音乐的朋友们,专门搞促销策划的专家们,推荐... 有没有卖东西的音乐 求一些适合在大型商场内放的音乐,多多益善! 适合商场放的背景音乐,求推荐? 90年一首很流行的音乐,街上好多卖货的喇叭经常放,...
声明声明:本网页内容为用户发布,旨在传播知识,不代表本网认同其观点,若有侵权等问题请及时与本网联系,我们将在第一时间删除处理。E-MAIL:11247931@qq.com