1. in v.s. exist
in 先執行subQuery再將結果暫存去query mainQuery
exist 先執行 mainQuery再去掃subQuery
當主表>子表 適合用 in
當子表>主表 適合用 exist
依資料量而定
2. not exist 效率皆大於 not in
3. 少用 <> 以及 != ,會進行整表掃描。以>、<取代。愛用>= 少用> ,因union會進行刪除重複的資料,資料量大的話會造成disk sort 。如果不需要刪除就用union all
4. 使用null or not null 會停用索引進行整表掃描,最後再設定是可能用not null設定填入default值
5. 少在where子句中使用如nvl, decode, trunc, to_char, … 等
索引不是基於函數的,那麼當在Where子句中對索引列使用函數時,索引不再起作用。Where子句中避免在索引列上使用計算,否則將導致索引失效而進行全表掃瞄。
可採用Oracle 函數如引,參考
6. Order By語句中的非索引列會降低性能,order by 索引能加快速度。因此,不在Order By語句中使用表達式。
其他….where子句要注意的 網頁
<input type=”radio” value=”0” name=”sorceDataTypeRadio” id=”sorceDataTypeRadio” checked=”checked”/>
<input type=”radio” value=”1” name=”sorceDataTypeRadio” id=”sorceDataTypeRadio” />
$(‘input [name=sorceDataTypeRadio]:radio’).val() => alert default checked val =0
$(‘input [name=sorceDataTypeRadio]:radio :checked’).val() => alert selected val
Java Developer Most Useful Books -
應該都不會看的書 XDDDDD
####photo from @decaylala
紀錄一下~2011/06/17 去聽河岸留言 =蛋堡&Jabber Loop
認識了Jabber Loop 好強的樂團阿!!!
獨立音樂 真的很棒!!!!
function uiCommonGetTimeString() {
var now = new Date();
var outStr = now.getHours()+’:’+now.getMinutes();
return outStr;
}
15:40
function addDate(dd,dadd){
var a = new Date(dd)
a = a.valueOf()
a = a + dadd * 24 * 60 * 60 * 1000
a = new Date(a)
return a;
}