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

溫馨提示×

溫馨提示×

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

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

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

發布時間: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

根河市| 荔波县| 屯门区| 丰顺县| 达尔| 嘉善县| 高唐县| 灵宝市| 封丘县| 邻水| 星子县| 新宁县| 荥阳市| 厦门市| 白沙| 汝阳县| 新绛县| 潞西市| 张家界市| 石台县| 同仁县| 多伦县| 化州市| 青海省| 香河县| 上杭县| 济宁市| 大名县| 响水县| 谷城县| 红安县| 诏安县| 江都市| 游戏| 台东市| 青浦区| 依兰县| 乌拉特后旗| 宿松县| 伊宁县| 五峰|