討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 軟體開發過程中有哪些資安漏洞?
[ 回上頁 ] [ 討論區發言規則 ]
請教高手如何create index
更改我的閱讀文章字型大小
作者 : chyi55(chyi55)
[ 貼文 3 | 人氣 9 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2010/10/30 下午 10:44:51
如主題,我有一個約500萬筆資料的Table

其中有二欄位A及B,均為yyymmdd的日期格式(char)

我的SQL如下

where A欄位 <= 日期
and (B欄位 is null or B欄位> 日期)

不管我index怎麼開,每次執行均只能做sequential read
如何才能使執行速度快些?
作者 : gkang(kk) Informix優秀好手貼文超過200則
[ 貼文 264 | 人氣 514 | 評價 1340 | 評價/貼文 5.08 | 送出評價 2 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/3/9 下午 03:35:31
sequential scan 不一定會比 index 來得慢,table 有做 update statistics 的話,read 筆數超過 30%的 table 筆數應該都會是sequential scan, 可以看一下符合的筆數。
作者 : chyi55(chyi55)
[ 貼文 3 | 人氣 9 | 評價 0 | 評價/貼文 0 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2011/3/9 下午 04:08:31
謝謝你的回覆!

針對500萬筆來說,sequential scan是真的比較慢,還是要用index才會比較快,
我是想找看看有沒有一次解決的辦法

目前我用折衷的處理方式,將B欄位建一個index,將資料分段insert into Temp table
1.insert into temp_table select ... where b is null
2.insert into temp_table select ... where b = '
3.insert into temp_table select ... where b > 日期

select * from temp_table where ...
 板主 : 徵求中
 > Informix 資料庫 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - Informix 資料庫 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
Informix 資料庫
1 kk 1340 
2 哈囉齒齒 430 
3 hedge 290 
4 Chelonia Mydas 250 
5 Foris 250 
6 wenli 200 
7 old cat 160 
8 大頭 140 
9 chyang 100 
10 sansui 90 
Informix 資料庫
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875