關於distinct關鍵字

2021-05-23 11:18:08 字數 592 閱讀 8661

1............

當連線的表資料量很大,但是select的最終結果不是很多,且select列的個數不是很多的時候,加上distinct之後,這個排序的代價要小於semi join連線的代價。這就是增加乙個distinct操作查詢效率反而提高,這個似乎不可能發生的情況的真正原因。

不加distinct的情況,由於使用in子查詢的查詢,oracle對第二個連線採用了hash join semi,這種hash join semi相對於普通的hash join,代價要大一些。

sql> select  /*distinct*/  t1.object_name, t1.object_type, t2.tablespace_name

2 from t1, t2

3 where t1.object_name = t2.segment_name

4 and t1.object_name in

5 (

6 select index_name from t3

7 where t3.tablespace_name = t2.tablespace_name

8 );

2.............

DISTINCT關鍵字理解

distinct關鍵字作為一種資料去重的手段,有如下使用方法 對單個資料進行去重時 select distinct name from members 這意味著從members表中取出去重後的name值對多個字段進行去重時 select distinct name,age from members ...

Oracle的distinct關鍵字

distinct關鍵字用於從查詢的結果集中篩選出唯一值的記錄。我們通過示例來介紹distinct關鍵字的用法。用以下sql建立超女基本資訊表 t girl 插入一些測試資料。create table t girl id char 4 not null,編號 name varchar2 30 not ...

Oracle的distinct關鍵字

distinct關鍵字用於從查詢的結果集中篩選出唯一值的記錄。我們通過示例來介紹distinct關鍵字的用法。用以下sql建立超女基本資訊表 t girl 插入一些測試資料。create table t girl id char 4 not null,編號 name varchar2 30 not ...