91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

MySQL中兩表關聯的連接表怎么創建索引圖文

發布時間:2020-09-28 17:42:08 來源:億速云 閱讀:143 作者:小新 欄目:MySQL數據庫

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

感謝各位的閱讀!看完上述內容,你們對MySQL中兩表關聯的連接表怎么創建索引圖文大概了解了嗎?希望文章內容對大家有所幫助。如果想了解更多相關文章內容,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

双江| 蓝田县| 塔城市| 太湖县| 邹城市| 喀什市| 吉首市| 泰宁县| 邯郸市| 易门县| 余江县| 察雅县| 响水县| 平安县| 邯郸市| 余姚市| 宜都市| 澄迈县| 长治市| 鄂尔多斯市| 虎林市| 兴国县| 黎川县| 宿松县| 宝坻区| 高青县| 法库县| 霍林郭勒市| 磴口县| 木里| 云龙县| 德庆县| 响水县| 通榆县| 绍兴市| 壶关县| 普格县| 乐安县| 晋中市| 安丘市| 石狮市|