oracle中regexp_like 的使用
今天碰到個問題,關於儲存多選框的問題,目前儲存多選框值是儲存到乙個欄位中,比如:1,2,3。現在有個問題,如果查詢1,2 的資料的時候,一般的寫法是 like 『%1%』 or like 『%2%』 ,如果查詢條件很多的話,查詢速度變慢,對於此類問題在系統中普遍存在,如何進行優化?
速度慢的關鍵地方是使用了or ,大部分解決辦法是使用union all ,弊端很多,查詢條件多,要union all很多次,直接pass掉。
其實使用regexp_like 完全可以解決此類問題,下面是搜的用法,大家自行檢視。
下面是正規表示式中介紹
1、x|y
匹配x或y,其中x和y是乙個或多個字元
war|peace 可以匹配 war 或 peace
2、[abc]
匹配中括號內的任意乙個字元
[abc] 可以匹配 abc 和 bbc
至於使用上面1還是2,根據自己的實際情況。本次sql優化,使用了1。 like 『%1%』 or like 『%2%』 優化為regexp_like(字段,『1|2』) 因資料庫可能存在01,02 的情況,如果使用2的話,regexp_like(字段,』[01]』) 會把02也查詢出來,採用1就不會。
oracle中累計求和 oracle累計求和
poj2001 shortest prefixes trie樹應用 沉迷wow又頹了兩天orz,暴雪爸爸要在國服出月卡了.這是要我好好學習嗎?趕緊來刷題了.oj 題目大意是求所有字串裡每乙個字元 硬體相關 jtag介面 jtag joint test action group,聯合測試行動小組 是一...
oracle中累計求和 oracle累計求和
oracle累計求和 將當前行某列的值與前面所有行的此列值相加,即累計求和 方法一 with t as select 1 val from dual union all select 3 from dual union all select 5 from dual union all select ...
Oracle中臨時表
最近考慮到我們的資料庫端寫儲存過程關於臨時表使用的情況,由於我們 現在還不清楚資料庫端到底是怎麼處理的,是否和sql server的處理方式相 同,是否會存在隱患等等一些問題,為了避免將來不必要的麻煩我做了深 入的研究和檢視了一些權威的資料,現在和大家共享,希望大家在處理 oracle臨時表是注意一...