亚洲激情专区-91九色丨porny丨老师-久久久久久久女国产乱让韩-国产精品午夜小视频观看

溫馨提示×

溫馨提示×

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

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

外鍵無索引對數據庫的影響以及增加索引后的效果

發布時間:2020-08-13 23:21:41 來源:ITPUB博客 閱讀:301 作者:shadow_young 欄目:關系型數據庫

1.  測試方法

測試環境下,創建兩張表, PK1和FK1,通過外鍵PK_ID進行關聯,

檢查外鍵無索引和有索引情況下對數據庫的影響

2.  測試環境

如下所示,建立兩張表,主表為 PK1, 子表為 FK1 ,主表主鍵為 ID 列,子表主鍵也為 ID 列,外鍵約束為 PK_ID,references PK1 ID 列。

主表鍵

  外鍵無索引對數據庫的影響以及增加索引后的效果

子表鍵

  外鍵無索引對數據庫的影響以及增加索引后的效果

主表列

  外鍵無索引對數據庫的影響以及增加索引后的效果

子表列

  外鍵無索引對數據庫的影響以及增加索引后的效果

主表和子表的數據

  外鍵無索引對數據庫的影響以及增加索引后的效果 外鍵無索引對數據庫的影響以及增加索引后的效果

3.  測試結果匯總

測試大類

測試內容

測試結果

外鍵無索引

a. 子表有刪改操作。 同時 主表有刪操作,或者更新主鍵的操作。

b.  刪除主表記錄或主子表關聯查詢

a. 子表有刪改操作。 同時 主表有刪操作,或者更新主鍵的操作。 滿足以上兩個條件會出現主表操作hang狀態。

b 外鍵不建索引,則刪除主表記錄或主子表關聯查詢,都會進行子表的全表掃描。

外鍵有索引

a. 子表有刪改操作。 同時 主表有刪操作,或者更新主鍵的操作。

b.  刪除主表記錄或主子表關聯查詢

未出現主表 hang和相關全表掃描

(1) 外鍵沒有索引,會導致子表產生表鎖:

a. 子表有刪改操作。

b. 主表有刪操作,或者更新主鍵的操作。

滿足以上兩個條件會出現主表操作hang 狀態。

(2) 外鍵不建索引,則刪除主表記錄或主子表關聯查詢,都會進行子表的全表掃描。

(3) 只有外鍵創建索引, (1) 中的操作才不會出現鎖或 hang 狀態, (2) 中的操作才有可能使用索引。

4.  測試場景

4.1.  外鍵無索引情況

1. 更新子表時,主表無法刪除列或者更新主鍵列。

  外鍵無索引對數據庫的影響以及增加索引后的效果

  外鍵無索引對數據庫的影響以及增加索引后的效果

外鍵無索引對數據庫的影響以及增加索引后的效果

2. 刪除子表列時,主表無法刪除列或者更新主鍵列

  外鍵無索引對數據庫的影響以及增加索引后的效果

  外鍵無索引對數據庫的影響以及增加索引后的效果

  外鍵無索引對數據庫的影響以及增加索引后的效果

同時進行關聯查詢時,會用到全表掃描

  外鍵無索引對數據庫的影響以及增加索引后的效果

  外鍵無索引對數據庫的影響以及增加索引后的效果

刪除主表數據的話,還會對子表進行全表掃描

  外鍵無索引對數據庫的影響以及增加索引后的效果

SQL ID: 6j3nfuym9sr2q Plan Hash: 715003257

delete from pk1

where

 id=8

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.00       0.00          0          0          0           0

Execute      1      0.00       0.00          0          1          7           1

Fetch        0      0.00       0.00          0          0          0           0

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total        2      0.00       0.00          0          1          7           1

Misses in library cache during parse: 0

Optimizer mode: ALL_ROWS

Parsing user id: 90  

Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation

---------- ---------- ----------  ---------------------------------------------------

         0          0          0  DELETE  PK1 (cr=8 pr=0 pw=0 time=2968 us)

         1          1          1   INDEX UNIQUE SCAN PK_ID (cr=1 pr=0 pw=0 time=47 us cost=0 size=13 card=1)(object id 76853)

Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  SQL*Net message to client                       1        0.00          0.00

  SQL*Net message from client                     1        4.08          4.08

*******************************************************************************

SQL ID: 6j3sg0cgf9vvf Plan Hash: 92442012

select /*+ all_rows */ count(1)

from

 "TEST"."FK1" where "PK_ID" = :1

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.00       0.00          0          0          0           0

Execute      1      0.00       0.00          0          0          0           0

Fetch        1      0.00       0.00          0          7          0           1

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total        3      0.00       0.00          0          7          0           1

Misses in library cache during parse: 0

Optimizer mode: ALL_ROWS

Parsing user id: SYS   (recursive depth: 1)

Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation

---------- ---------- ----------  ---------------------------------------------------

         1          1          1  SORT AGGREGATE (cr=7 pr=0 pw=0 time=604 us)

         0          0          0   TABLE ACCESS FULL FK1 (cr=7 pr=0 pw=0 time=523 us cost=3 size=13 card=1)

******************************************************************************* *

4.2.  外鍵有索引情況

子表建立索引后

  外鍵無索引對數據庫的影響以及增加索引后的效果

對子表的刪除或者更新操作后,主表更新主鍵或者刪除列不會獲取表鎖,可以正常執行。

  外鍵無索引對數據庫的影響以及增加索引后的效果

  外鍵無索引對數據庫的影響以及增加索引后的效果

外鍵無索引對數據庫的影響以及增加索引后的效果

同時關聯查詢時也會用到索引

  外鍵無索引對數據庫的影響以及增加索引后的效果

  外鍵無索引對數據庫的影響以及增加索引后的效果

對主表的刪除也不會進行全表掃描

SQL ID: 6j3nfuym9sr2q Plan Hash: 715003257

delete from pk1

where

 id=8

call     count       cpu    elapsed       disk      query    current        rows

------- ------  -------- ---------- ---------- ---------- ----------  ----------

Parse        1      0.00       0.00          0          0          0           0

Execute      1      0.00       0.00          0          1          6           1

Fetch        0      0.00       0.00          0          0          0           0

------- ------  -------- ---------- ---------- ---------- ----------  ----------

total        2      0.00       0.00          0          1          6           1

Misses in library cache during parse: 0

Optimizer mode: ALL_ROWS

Parsing user id: 90  

Number of plan statistics captured: 1

Rows (1st) Rows (avg) Rows (max)  Row Source Operation

---------- ---------- ----------  ---------------------------------------------------

         0          0          0  DELETE  PK1 (cr=1 pr=0 pw=0 time=874 us)

         1          1          1   INDEX UNIQUE SCAN PK_ID (cr=1 pr=0 pw=0 time=47 us cost=0 size=13 card=1)(object id 76853)

Elapsed times include waiting on following events:

  Event waited on                             Times   Max. Wait  Total Waited

  ----------------------------------------   Waited  ----------  ------------

  SQL*Net message to client                       1        0.00          0.00

  SQL*Net message from client                     1        9.67          9.67

********************************************************************************

向AI問一下細節

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

AI

察雅县| 象州县| 岳池县| 德化县| 新安县| 无为县| 山西省| 迁安市| 梅州市| 达拉特旗| 丰台区| 大方县| 秦皇岛市| 随州市| 革吉县| 苍南县| 富平县| 宁化县| 安陆市| 波密县| 财经| 溧阳市| 武隆县| 黔西县| 萨嘎县| 宁强县| 陵水| 囊谦县| 雷波县| 柳州市| 博兴县| 驻马店市| 河源市| 东宁县| 精河县| 六盘水市| 奉化市| 洛隆县| 枣庄市| 旬阳县| 延吉市|