只做等值查詢,索引鍵值順序怎麼建立好?
表: cs_ab01。
表大小:3G
表記錄數: 1000000000
key_aac001唯一值:1000000
key_aac002唯一值:200
表大小:3G
表記錄數: 1000000000
key_aac001唯一值:1000000
key_aac002唯一值:200
1.表cs_ab01,key_aac001,key_aac002列只做等值查詢,key_aac001,key_aac002可能會一起出現,key_aac001可能單獨出現,怎麼建立索引?理由
2.表cs_ab01,key_aac001,key_aac002列總是一起出現在謂詞裡,key_aac001等值,key_aac002範圍查詢,怎麼建立索引?理由
3.表cs_ab01,key_aac001,key_aac002列總是做等值查詢,總是一起出現,該怎麼建立索引?理由
2.表cs_ab01,key_aac001,key_aac002列總是一起出現在謂詞裡,key_aac001等值,key_aac002範圍查詢,怎麼建立索引?理由
3.表cs_ab01,key_aac001,key_aac002列總是做等值查詢,總是一起出現,該怎麼建立索引?理由
一個公司的面試題。第三個情形值得討論。
create table wxh_tbd (id number,name varchar2(4000));
insert /*+ append */ into wxh_tbd select rownum ,lpad('a',2000) from dba_objects;
commit;
insert /*+ append */ into wxh_tbd select rownum ,lpad('a',2000) from dba_objects;
commit;
create index t on wxh_tbd(name,id);
create index t1 on wxh_tbd(id,name);
Index Leaf
Name BLV Blks
------------------------------ --- ------------
T 7 14,830
T1 2 14,830
Name BLV Blks
------------------------------ --- ------------
T 7 14,830
T1 2 14,830
由於索引分支節點並不是儲存所有的索引鍵值,而是隻儲存必須的索引鍵值。
但是由於本例裡的name都一樣,因此索引分支節點裡必須再儲存object_id來區別。而且由於name欄位較長,就導致分支的節點數非常的多,於是就產生了belevel為7的索引樹。
看來把唯一值較多的放在索引鍵值的前面,這個準則還是有效的,只是大家可能只是知道這個準則,並不清楚為什麼。
但是無論是那種建立索引的方式,索引的葉子塊都是一樣的。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/22034023/viewspace-717937/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 順序查詢
- DNS查詢順序DNS
- DS靜態查詢之順序查詢
- 順序查詢和二分查詢
- 用HBase做高效能鍵值查詢?
- 順序表應用6:有序順序表查詢
- 主鍵local索引、unique local索引、分割槽索引順序的理解索引
- MySQL 查詢處理 SQL查詢執行順序MySql
- #查詢演算法#【1】簡單查詢:順序、折半查詢演算法
- 報表怎麼做模糊查詢
- SQL查詢關鍵字執行順序及記憶口訣SQL
- 分塊查詢【大規模資料查詢演算法優化】【索引順序查詢】演算法 PHP 版演算法優化索引PHP
- MySQL 查詢中保留 IN 中的順序MySql
- MySQL之SQL邏輯查詢順序MySql
- 查詢處理的邏輯順序
- 查詢演算法集:順序查詢、二分查詢、插值查詢、動態查詢(陣列實現、連結串列實現)演算法陣列
- 查詢指定使用者的unique,primary索引名/鍵值索引
- MySQL 並列排名和順序排名查詢MySql
- MySQL 查詢常用操作(0) —— 查詢語句的執行順序MySql
- mac 上的 python 查詢 dylib 的順序是什麼?MacPython
- SQL 查詢語句的執行順序解析SQL
- 5-順序表查詢及插入問題
- T-sql語句查詢執行順序SQL
- 【層次查詢】Hierarchical Queries之處理順序
- 大資料批次鍵值查詢怎樣才會更快大資料
- 微信聊天表情順序設定方法 微信表情順序怎麼調?
- 查詢沒有索引的外來鍵索引
- excel查詢快捷鍵是什麼 excel表格怎麼快速查詢Excel
- SQL邏輯查詢處理順序特別提醒SQL
- Oracle 優化器與sql查詢執行順序Oracle優化SQL
- 如何找東西?查詢演算法之順序查詢和二分查詢詳解演算法
- 資料庫三表連線查詢怎麼做資料庫
- 【索引】Oracle查詢指定索引提高查詢效率索引Oracle
- ppt動畫出現順序怎麼設定 PPT設定動畫文字順序動畫
- 資料結構之查詢(順序、折半、分塊查詢,B樹、B+樹)資料結構
- Oracle 最佳化器與sql查詢執行順序OracleSQL
- MYSQL學習筆記11: DQL查詢執行順序MySql筆記
- 讀 CSV/TXT 的報表怎麼做分頁查詢?