中文字幕av专区_日韩电影在线播放_精品国产精品久久一区免费式_av在线免费观看网站

溫馨提示×

溫馨提示×

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

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

索引系列四 --索引特性之存列值優化count

發布時間:2020-07-26 11:41:40 來源:網絡 閱讀:300 作者:1415699306 欄目:關系型數據庫

--要領:只要索引能回答問題,索引就可以當成一個"瘦表",訪問路徑就會減少。另外切記不存儲空值

drop table t purge;

create table t as select * from dba_objects;

update t set object_id=rownum;

commit;

create index idx1_object_id on t(object_id);

set autotrace on

select count(*) from t;

執行計劃

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

| Id  | Operation          | Name | Rows  | Cost (%CPU)| Time     |

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

|   0 | SELECT STATEMENT   |      |     1 |   292   (1)| 00:00:04 |

|   1 |  SORT AGGREGATE    |      |     1 |            |          |

|   2 |   TABLE ACCESS FULL| T    | 69485 |   292   (1)| 00:00:04 |

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

統計信息

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

          0  recursive calls

          0  db block gets

       1048  consistent gets


--為啥用不到索引,因為索引不能存儲空值,所以加上一個is not null,再試驗看看            

select count(*) from t where object_id is not null;

執行計劃

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

| Id  | Operation             | Name           | Rows  | Bytes | Cost (%CPU)| Time     |

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

|   0 | SELECT STATEMENT      |                |     1 |    13 |    50   (2)| 00:00:01 |

|   1 |  SORT AGGREGATE       |                |     1 |    13 |            |          |

|*  2 |   INDEX FAST FULL SCAN| IDX1_OBJECT_ID | 69485 |   882K|    50   (2)| 00:00:01 |

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

統計信息

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

          0  recursive calls

          0  db block gets

        170  consistent gets


--也可以不加is not null,直接把列的屬性設置為not null,也成,繼續試驗如下:

alter table t modify OBJECT_ID not null;

select count(*) from t;

執行計劃

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

| Id  | Operation             | Name           | Rows  | Cost (%CPU)| Time     |

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

|   0 | SELECT STATEMENT      |                |     1 |    49   (0)| 00:00:01 |

|   1 |  SORT AGGREGATE       |                |     1 |            |          |

|   2 |   INDEX FAST FULL SCAN| IDX1_OBJECT_ID | 69485 |    49   (0)| 00:00:01 |

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

統計信息

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

          0  recursive calls

          0  db block gets

        170  consistent gets

          0  physical reads

          0  redo size

        425  bytes sent via SQL*Net to client

        416  bytes received via SQL*Net from client

          2  SQL*Net roundtrips to/from client

          0  sorts (memory)

          0  sorts (disk)

          1  rows processed



--如果是主鍵就無需定義列是否允許為空了。

drop table t purge;

create table t as select * from dba_objects;

update t set object_id=rownum;

alter table t add constraint pk1_object_id primary key (OBJECT_ID);

set autotrace on

select count(*) from t;


執行計劃

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

| Id  | Operation             | Name          | Rows  | Cost (%CPU)| Time     |

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

|   0 | SELECT STATEMENT      |               |     1 |    46   (0)| 00:00:01 |

|   1 |  SORT AGGREGATE       |               |     1 |            |          |

|   2 |   INDEX FAST FULL SCAN| PK1_OBJECT_ID | 69485 |    46   (0)| 00:00:01 |

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

統計信息

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

          0  recursive calls

          0  db block gets

        160  consistent gets


向AI問一下細節

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

AI

麻栗坡县| 桦甸市| 澄江县| 聊城市| 龙里县| 铜梁县| 那坡县| 河津市| 西乌| 鹤山市| 原平市| 高要市| 阜新市| 汕头市| 壶关县| 绥宁县| 宁远县| 岗巴县| 玉门市| 福建省| 深州市| 双城市| 博爱县| 莱芜市| 肇州县| 洞头县| 盱眙县| 崇仁县| 台中市| 隆昌县| 潢川县| 万荣县| 道真| 蒲江县| 长兴县| 玛沁县| 甘洛县| 湖南省| 响水县| 凤冈县| 同心县|