對於索引列來最好使用union all,因複雜的查詢【包含運算等】將使or、in放棄索引而全表掃瞄,除非你能確定or、in會使用索引
對於只有非索引字段來說你就老老實實的用or 或者in,因為 非索引字段本來要全表掃瞄而union all 只成倍增加表掃瞄的次數
對於既有索引字段【索引字段有效】又包含非索引字段來時,按理你也使用or 、in或者union all 都可以,
但是我推薦使用or、in。
以上主要針對的是單錶,而多表聯合查詢來說,考慮的地方就比較多了,比如連線方式,查詢表資料量分布、索引等,再結合單錶的策略選擇合適的關鍵字
使用mapjoin效率對比
mapjion會把小表全部讀入記憶體中,在map階段直接拿另外乙個表的資料和記憶體中表資料做匹配,由於在map是進行了join操作,省去了reduce執行的效率也會高很多 使用乙個表測試,該錶時5分鐘表,資料很少,大概60多w。測試日誌裡包含多個字段,其中有uid和uip。測試場景為給出2個uid,...
Remoting VS WCF 傳輸效率對比
1 測試平台 cpu intel core tm 2 duo cpu e8300 2.83ghz 記憶體 1.98g記憶體 平台 windows 2003 service 2 測試內容 測試int,stream,dataset,class在remoting和wcf下的傳輸效率 服務宿主 window...
windows檔案讀取效率對比
readfile1.cpp是使用記憶體對映檔案讀取檔案,readfile2.cpp是普通readfile readfile1.cpp char buf 10001 const char env getenv data dir char wsp 255 sprintf wsp,s demo.dbf e...