使用函式索引憂化查詢

2021-08-30 19:59:24 字數 624 閱讀 7990

做報表是遇到的乙個問題:

表a(id, part_number ) 10萬條左右資料,

表b(part_number) 3萬條左右,

查詢的sql 語句如下: 

select a.id, b.part_number 

from a, b 

where b.part_number = rtrim(a.part_number)

結果等了20多分鐘還在跑, 檢視執行計畫 a表 full access ,

於是上網搜尋一翻 ,part_number上建立函式索引。

create index a_index_1 on  a (rtrim(part_number))  tablespace index_space ;

analyze index  a_index_1   compute statistics  ;

anylasys table a  compute statistics ;

在檢視 該 sql 的 執行計畫, full access 變成 index scan ;

結果順利在 2s 內跑出。 [img]/images/smiles/icon_biggrin.gif" alt="[/img] (花了2個鐘才搞定) 

使用solrj索引查詢

1 查詢 solrj提供的查詢功能比較強大,可以進行結果中查詢 範圍查詢 排序等。下面是筆者封裝的乙個查詢函式 public static queryresponse search string field,string key,int start,int count,string sortfiel...

mysql like查詢 使用索引

在使用mysql的查詢語句時,可能要利用到like語句。通常情況下,是看不出來語句的差異性的,因為資料量比較小,但是當資料量達到千萬級以上的時候,sql語句的執行效率就顯得非常重要了。lz寫like語句的時候,一般都會是 sql view plain copy select query fileds...

MySQL like查詢使用索引

在使用msyql進行模糊查詢的時候,很自然的會用到like語句,通常情況下,在資料量小的時候,不容易看出查詢的效率,但在資料量達到百萬級,千萬級的時候,查詢的效率就很容易顯現出來。這個時候查詢的效率就顯得很重要!結論 後置百分號可以用到索引,前置百分號和兩側百分號用不了索引。like 匹配 模糊匹配...