官方文件鏈結位址
select department_id, last_name, salary
from employees
where salary > 5000
order by department_id, last_name;
50,atkinson,2800,rowid
60,austin,4800,rowid
70,baer,10000,rowid
80,abel,11000,rowid
80,ande,6400,rowid
110,austin,7200,rowid..
.
select last_name, salary
from employees;
baida,2900,rowid
zlotkey,10500,rowid
austin,7200,rowid
baer,10000,rowid
atkinson,2800,rowid
austin,4800,rowid..
.
abel,rowid
ande,rowid
atkinson,rowid
austin,rowid
austin,rowid
baer,rowid..
.
select *
from employees
where employee_id = 5;
1,rowid
2,rowid
4,rowid
5,rowid
6,rowid..
.
select * from sh.customers where cust_email = '[email protected]';
f,[email protected],rowid
f,[email protected],rowid
f,[email protected],rowid
f,[email protected],rowid
f,[email protected],rowid
f,[email protected],rowid
m,[email protected],rowid
m,[email protected],rowid
select * from sh.customers where cust_gender = 'f'
and cust_email = '[email protected]'
union all
select * from sh.customers where cust_gender = 'm'
and cust_email = '[email protected]';
集群因子與索引掃瞄關係密切,因為它可以顯示:
例如,假定雇員表存放在兩個資料塊中。表 3-1 描述了兩個資料塊中的行(省略號表示未顯示的資料)
行按姓氏(以粗體顯示)順序儲存在塊中。例如,資料塊 1 的最下面一行描述了 abel, 往上一行描述了 ande,如此等等,按字母順序直到最上面的一行描述了 steven king。資料塊 2 中的最下面行描述了 kochar,往上一行描述了 kumar ,如此等等,按字母順序直到最後一行描述了 zlotkey
假設在姓氏列上存在乙個索引。每個姓氏條目對應於乙個 rowid。從概念上講,索引條目看起來如下所示:
abel,block1row1
ande,block1row2
atkinson,block1row3
austin,block1row4
baer,block1row5..
.
100,block1row50
101,block2row1
102,block1row9
103,block2row19
104,block2row39
105,block1row4..
.
sql> select index_name, clustering_factor
2 from all_indexes
3 where index_name in ('emp_name_ix','emp_emp_id_pk');
index_name clustering_factor
-------------------- -----------------
emp_emp_id_pk 19
emp_name_ix 2
索引掃瞄總是索引掃瞄麼?
問 使用nc掃瞄運算子,有方法知道索引是怎麼掃瞄的麼?這個問題的乙個答案是非聚集索引掃瞄總是掃瞄整個索引。答 是的,總是100 掃瞄運算子總是整個索引 但是有一些特定的情況並不是這樣。在這篇文章裡我想專門講下你總會碰到的乙個特定案例 在你的查詢裡有top,min或者max表示式。我們來看下面2個查詢...
索引查詢和索引掃瞄
索引的訪問方式主要是 索引查詢 索引掃瞄。在執行計畫中為 index seek,適用於查詢少量資料。對應隨機io,能快速的定位一條資料。在執行計畫中為 index scan,適合掃瞄整個索引的資料。類似於全表掃瞄 只掃瞄索引 對應順序io,io效率本身比較高。索引查詢 和 索引掃瞄,單從io效率上來...
全表掃瞄與索引掃瞄
一,全表掃瞄 全表掃瞄是從讀取資料的同時通過where條件中的查詢條件來過濾來篩選出滿足條件的資料執行過程。其掃瞄的的物件是表中的所有資料塊,包括空資料庫,如果表中的資料大量被刪除,那麼就會存在大量的空資料塊,再次狀態下,大量的空資料塊也被掃瞄。在執行全表掃瞄時,按照順序每次將多個資料塊從磁碟讀取到...