[20220105]建立非唯一主鍵對效能有影響嗎.txt
[20220105]建立非唯一主鍵對效能有影響嗎.txt
--//昨天最佳化專案,發現一個主鍵的索引非唯一,估計開始存在主鍵衝突,索引選擇非唯一,解決後沒有改正過來。
--//測試看看這樣情況邏輯讀是否存在變化。
1.環境:
SCOTT@book> @ver1
PORT_STRING VERSION BANNER
------------------------------ -------------- --------------------------------------------------------------------------------
x86_64/Linux 2.4.xx 11.2.0.4.0 Oracle Database 11g Enterprise Edition Release 11.2.0.4.0 - 64bit Production
2.測試
create table deptx as select * from dept;
create index pk_deptx on deptx (deptno);
SCOTT@book> select uniqueness from user_indexes where index_name = 'PK_DEPTX';
UNIQUENES
---------
NONUNIQUE
alter table deptx add constraint pk_deptx primary key (deptno) using index pk_deptx;
SCOTT@book> @gts deptx
Gather Table Statistics for table deptx...
PL/SQL procedure successfully completed.
--//這樣建立非唯一索引作為主鍵。
3.測試效能:
SCOTT@book> @ sl all
alter session set statistics_level = all;
Session altered.
SCOTT@book> select * from deptx where deptno=10;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
SCOTT@book> @ dpc '' ''
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID cpn6gafrn12h6, child number 0
-------------------------------------
select * from deptx where deptno=10
Plan hash value: 296087899
----------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers |
----------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | | 1 (100)| | 1 |00:00:00.01 | 3 |
| 1 | TABLE ACCESS BY INDEX ROWID| DEPTX | 1 | 1 | 20 | 1 (0)| 00:00:01 | 1 |00:00:00.01 | 3 |
|* 2 | INDEX RANGE SCAN | PK_DEPTX | 1 | 1 | | 0 (0)| | 1 |00:00:00.01 | 2 |
----------------------------------------------------------------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$1 / DEPTX@SEL$1
2 - SEL$1 / DEPTX@SEL$1
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("DEPTNO"=10)
SCOTT@book> select * from dept where deptno=10;
DEPTNO DNAME LOC
---------- -------------- -------------
10 ACCOUNTING NEW YORK
SCOTT@book> @ dpc '' ''
PLAN_TABLE_OUTPUT
-------------------------------------
SQL_ID 4xamnunv51w9j, child number 0
-------------------------------------
select * from dept where deptno=10
Plan hash value: 2852011669
---------------------------------------------------------------------------------------------------------------------------------
| Id | Operation | Name | Starts | E-Rows |E-Bytes| Cost (%CPU)| E-Time | A-Rows | A-Time | Buffers |
---------------------------------------------------------------------------------------------------------------------------------
| 0 | SELECT STATEMENT | | 1 | | | 1 (100)| | 1 |00:00:00.01 | 2 |
| 1 | TABLE ACCESS BY INDEX ROWID| DEPT | 1 | 1 | 20 | 1 (0)| 00:00:01 | 1 |00:00:00.01 | 2 |
|* 2 | INDEX UNIQUE SCAN | PK_DEPT | 1 | 1 | | 0 (0)| | 1 |00:00:00.01 | 1 |
---------------------------------------------------------------------------------------------------------------------------------
Query Block Name / Object Alias (identified by operation id):
-------------------------------------------------------------
1 - SEL$1 / DEPT@SEL$1
2 - SEL$1 / DEPT@SEL$1
Predicate Information (identified by operation id):
---------------------------------------------------
2 - access("DEPTNO"=10)
--//可以看出邏輯讀不同,前者是INDEX RANGE SCAN,後者是INDEX UNIQUE SCAN,邏輯讀相差1個。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/267265/viewspace-2850686/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 容器化對資料庫的效能有影響嗎?資料庫
- INDEX建立方式對SQL的影響IndexSQL
- PHP中什麼是垃圾回收?對效能有什麼影響PHP
- 任正非談人工智慧對全球的影響人工智慧
- 資料庫聚簇索引——not null條件對唯一鍵索引成為聚簇索引的影響資料庫索引Null
- 樣本數量對問卷信度和效度分析的影響:一項關鍵因素
- 主鍵約束、唯一約束和唯一索引索引
- 主動寫入流對@ResponseBody註解的影響
- 修改主機時區對Oracle的影響分析Oracle
- 虛擬主機對網站有哪些影響?網站
- 網線的分類與對網速的影響 網線對網速影響大嗎?
- 網站更換IP,更換空間對影響到關鍵詞的排名嗎?網站
- 重啟對海外伺服器會有影響嗎?伺服器
- 抖音團購抽傭對商家影響大嗎?
- Eureka 2.0 開源流產,真的對你影響很大嗎?
- 🚀🚀🚀Elasticsearch 主副分片切換過程中對業務寫入有影響嗎Elasticsearch
- 《神經病學》:妊娠期高血壓對認知功能有長遠影響!
- 文字分類有哪些論文中很少提及卻對效能有重要影響的tricks?文字分類
- [20220105]再論ORA-29275與toad 12.txt
- [20220105]sqlplus &1替換最大支援239個字元.txtSQL字元
- HTTP會影響網速嗎HTTP
- 香港主機對seo網站最佳化有什麼影響?網站
- [20181108]with temp as 建立臨時表嗎.txt
- [20210520]關於主鍵索引問題.txt索引
- [20191225]主鍵使用uuid優缺點.txtUI
- VPS主機如何影響頁面速度
- 在非主執行緒中建立視窗執行緒
- 生成按時間增長的全域性唯一主鍵
- 主鍵的建立、新增、刪除操作
- 域名轉移影響域名解析嗎?
- FTP主動模式和被動模式(2)- 防火牆對FTP的影響 ASPFFTP模式防火牆
- 語言對思維的影響
- MySQL alter 新增列對dml影響MySql
- Nologging對恢復的影響(一)
- 海外伺服器對SEO影響?伺服器
- unusable index對DML/QUERY的影響Index
- Nologging對恢復的影響(二)
- 雲主機的速度受到什麼影響?