婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 圖文詳解MySQL中兩表關聯的連接表如何創建索引

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

熱門標簽:手機用地圖標注工具 電銷機器人公眾號推送 長安區違法建房地圖標注 智能電銷機器人靠譜么 地圖標注培訓 昆明智能外呼系統中心 安國在哪里辦理400電話 電銷機器人說明書 南宋地圖標注黃河華山

本文介紹了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適用與通過部門查詢出該部門下所屬的人員。

其它

測試數據

Test.sql

總結

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

您可能感興趣的文章:
  • MySQL 索引的優缺點以及創建索引的準則
  • MySQL字符串索引更合理的創建規則討論
  • MySQL使用命令創建、刪除、查詢索引的介紹
  • 怎樣正確創建MySQL索引的方法詳解
  • MySQL創建全文索引分享
  • 詳解mysql索引總結----mysql索引類型以及創建
  • MySQL查看、創建和刪除索引的方法
  • mysql 添加索引 mysql 如何創建索引
  • MySQL創建索引需要了解的

標簽:吉安 潛江 長沙 東莞 合肥 江門 南昌 武漢

巨人網絡通訊聲明:本文標題《圖文詳解MySQL中兩表關聯的連接表如何創建索引》,本文關鍵詞  圖文,詳解,MySQL,中,兩表,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《圖文詳解MySQL中兩表關聯的連接表如何創建索引》相關的同類信息!
  • 本頁收集關于圖文詳解MySQL中兩表關聯的連接表如何創建索引的相關信息資訊供網民參考!
  • 推薦文章
    主站蜘蛛池模板: 阿拉善右旗| 广汉市| 赤水市| 元谋县| 乐昌市| 敦煌市| 通山县| 开阳县| 邵阳县| 新化县| 北安市| 荣成市| 乌鲁木齐市| 盐池县| 渑池县| 都兰县| 潢川县| 涿鹿县| 囊谦县| 集安市| 丰城市| 海晏县| 肃南| 商洛市| 阿荣旗| 崇礼县| 同德县| 杭锦后旗| 永清县| 石楼县| 阿拉善盟| 高淳县| 玛曲县| 江油市| 安吉县| 梅州市| 斗六市| 买车| 镇江市| 宣汉县| 三河市|