昨天測試 基於phoenix 的jdbc資料匯入,同樣的表結構:
create index calling_number on tab_ps_xdr (a);
create index called_number on tab_ps_xdr (b);
create index imsi on tab_ps_xdr (c);
create index imei on tab_ps_xdr (d);
執行下面的語句:
upsert into tab_ps_xdr values('aaaaaaacbaa11','', '','','1','1');
upsert into tab_ps_xdr values('bbaaaabbaa11','', '','','1','1');
upsert into tab_ps_xdr values('ccaaaaccbaa11','', '','','1','1');
upsert into tab_ps_xdr values('ddaaaadcbaa11','', '','','1','1');
之後執行 select count(*)
from tab_px_xdr ; 發現條數沒有變化,插入失敗。
但是將語句修改為:
upsert into tab_ps_xdr values('aaaaaaacbaa11','', '','1','','1');
upsert into tab_ps_xdr values('bbaaaabbaa11','', '','1','','1');
upsert into tab_ps_xdr values('ccaaaaccbaa11','', '','1','','1');
upsert into tab_ps_xdr values('ddaaaadcbaa11','', '','1','','1');
繼續查詢結果,發現插入正常。比較鬱悶。 索引為空是不可以
眾所周知,存在空值的列,在謂詞中有is null會導致索引失效,因為索引都有儲存,你怎麼可能通過索引查詢資料資訊呢?所以,索引大部分情況下建立到主鍵之中 wid之中 所以is null的選擇性還是很強的。那麼在該字段上應該有索引,建立乙個索引create index idx dept fstanda...
Phoenix 索引生命週期
本文主要介紹phoenix索引狀態的生命週期,幫助大家解惑 為什麼我的phoenix索引不能正常使用了?索引總共有以下幾個狀態,其狀態資訊儲存在system.catalog表中。可以通過以下sql來檢視所有索引表資訊 sql中欄位 local 2 usable e unusable d active...
phoenix 全域性索引設計實踐
全域性索引是phoenix的重要特性,合理的使用二級索引能降低查詢延時,讓集群資源得以充分利用。本文將講述如何高效的設計和使用索引。全域性索引的根本是通過單獨的hbase表來儲存資料表的索引資料。我們通過如下示例看索引資料和主表資料的關係。建立資料表 create table data table ...