麻豆小视频在线观看_中文黄色一级片_久久久成人精品_成片免费观看视频大全_午夜精品久久久久久久99热浪潮_成人一区二区三区四区

首頁 > 數據庫 > MySQL > 正文

圖文詳解MySQL中兩表關聯的連接表如何創建索引

2024-07-24 13:13:21
字體:
來源:轉載
供稿:網友

本文介紹了MySQL中兩表關聯的連接表是如何創建索引的相關內容,分享出來供大家參考學習,下面來看看詳細的介紹:

問題介紹

創建數據庫的索引,可以選擇單列索引,也可以選擇創建組合索引。

遇到如下這種情況,用戶表(user)與部門表(dept)通過部門用戶關聯表(deptuser)連接起來,如下圖所示:

mysql,多表關聯,索引,表關聯,創建聯合索引
表間關系

問題就是,在這個關聯表中該如何建立索引呢?

針對該表,有如下四種選擇:

  • 針對于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 關聯表無索引

mysql,多表關聯,索引,表關聯,創建聯合索引

1.2 單索引 Idx_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

1.3 單索引 Idx_user

mysql,多表關聯,索引,表關聯,創建聯合索引

1.4 組合索引 Idx_dept_user

mysql,多表關聯,索引,表關聯,創建聯合索引

1.5 組合索引 Idx_user_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

1.6 所有都建立上

mysql,多表關聯,索引,表關聯,創建聯合索引

二 、人員查所屬部門用join方式

2.1 關聯表無索引

mysql,多表關聯,索引,表關聯,創建聯合索引

2.2 單索引 Idx_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

2.3 單索引 Idx_user

mysql,多表關聯,索引,表關聯,創建聯合索引

2.4 組合索引 Idx_dept_user

mysql,多表關聯,索引,表關聯,創建聯合索引

2.5 組合索引 Idx_user_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

2.6 所有都建立上

mysql,多表關聯,索引,表關聯,創建聯合索引

三 、部門查人員用and方式

3.1 關聯表無索引

mysql,多表關聯,索引,表關聯,創建聯合索引

3.2 單索引 Idx_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

3.3 單索引 Idx_user

mysql,多表關聯,索引,表關聯,創建聯合索引

3.4 組合索引 Idx_dept_user

mysql,多表關聯,索引,表關聯,創建聯合索引

3.5 組合索引 Idx_user_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

3.6 所有都建立上

mysql,多表關聯,索引,表關聯,創建聯合索引

四 、部門查所屬人員用join方式

4.1 關聯表無索引

mysql,多表關聯,索引,表關聯,創建聯合索引

4.2 單索引 Idx_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

4.3 單索引 Idx_user

mysql,多表關聯,索引,表關聯,創建聯合索引

4.4 組合索引 Idx_dept_user

mysql,多表關聯,索引,表關聯,創建聯合索引

4.5 組合索引 Idx_user_dept

mysql,多表關聯,索引,表關聯,創建聯合索引

4.6 所有都建立上

mysql,多表關聯,索引,表關聯,創建聯合索引

結論

通過上面的實際測試結果可以得出如下結論:針對于該關聯表分別針對于user_uuid與dept_uuid建立單列索引idx_user,idx_dept最優。

其中索引idx_user適用與通過人員ID查詢出該人員所在的部門;索引idx_dept適用與通過部門查詢出該部門下所屬的人員。

其它

測試數據

Test.sql

總結

以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流,謝謝大家對VeVb武林網的支持。


注:相關教程知識閱讀請移步到MYSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 国产妇女乱码一区二区三区 | 精品一区二区在线观看视频 | 91精品久久久久久久久 | 91丨九色丨国产在线观看 | 在线小视频国产 | 欧美一级免费高清 | 日本精品视频一区二区三区四区 | 十级毛片| 精品久久久久99 | 免费特黄 | 国产三级三级三级三级 | 欧洲成人精品 | 精品国产一区二区三区在线观看 | 色av综合在线 | 最近高清无吗免费看 | 日韩三级伦理在线观看 | 99精品视频在线看 | 久久久无码精品亚洲日韩按摩 | 亚洲国产精品久久久久婷婷老年 | 欧美一区中文字幕 | 久久生活片 | 全黄性性激高免费视频 | 免费看黄色一级大片 | 国产91在线免费 | 狠狠久久伊人中文字幕 | 免费a级毛片大学生免费观看 | av成人免费在线观看 | 日本va在线观看 | 久久毛片免费 | 天天干天天碰 | 92看片淫黄大片一级 | 九九热免费视频在线观看 | 91精品国啪老师啪 | 黄色片视频免费观看 | 欧美一级视频免费看 | 欧美日韩爱爱视频 | 干一夜综合 | 精品国产一区二区三区在线观看 | 亚洲成人免费电影 | 国产色视频在线观看免费 | 一级黄色影院 |