討論區快速選單
知識庫快速選單
政府補助!學嵌入式+物聯網 網路投保旅行平安險 討論區最近新進100則主題
[ 回上頁 ] [ 討論區發言規則 ]
SQL語法在max與group之後最佳化
更改我的閱讀文章字型大小
作者 : youyouyou(夜市小霸王)
[ 貼文 9 | 人氣 431 | 評價 40 | 評價/貼文 4.44 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/9/15 下午 07:29:46
各位好:
本系統是用來追蹤車輛,有一各view是找出所有車子的最後傳輸的時間
但是搜尋時間太長,現在已經到10秒了,雖然我們用的語法很簡單?
以下我撰寫的語法

select max(Retime) AS Retime, Carno as Carno from tracking group by CarNo

Retime是收到資料的時間,而Carno則是車號

資料庫狀態:MSSQL 2005,總資料大約70萬筆,車輛大約40部,並建立索引(Carno, Retime)
系統狀態:CPU P4-2G,1G RAM

請問有比較有效率的語法嗎?

PS:有同事建議別用group,把車輛清單列出來(放在where in子句),然後在直接去比對,我覺的好像沒差吧?

作者 : pcjung(max)
[ 貼文 117 | 人氣 1792 | 評價 630 | 評價/貼文 5.38 | 送出評價 0 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人youyouyou註記此篇回應為最佳解答 2008/9/17 上午 08:24:26
那....有試著將 Retime 及 carno 設成 Index 嗎???
作者 : youyouyou(夜市小霸王)
[ 貼文 9 | 人氣 431 | 評價 40 | 評價/貼文 4.44 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2008/9/18 上午 09:30:12
For MAX:已經有建立索引(carno,ReID)
For All:知道問題出在哪裡了,這句其實很快,問題出在另外的查詢,感謝版友的回覆
 板主 : 徵求中
 > SQL Server 7/2000 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - SQL Server 7/2000 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
SQL Server 7/2000
1 小朱 1540 
2 小台 1520 
3 Gordon 600 
4 ㄉ一ˊㄎㄜˋ 580 
5 路人 490 
6 max 470 
7 william 410 
8 Aries 250 
9 阿利 180 
10 羅啟章 160 
SQL Server 7/2000
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2019 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875