SQL 重覆Select大量資料的問題 |
缺席
|
taihao
一般會員 發表:1 回覆:13 積分:2 註冊:2005-11-02 發送簡訊給我 |
我使用Query1 查尋SQL2000 的Table,
Query1.SQL.text=Select * from a114base Where cust_no like '042%'
有4萬筆符合(Query.RecordCount=40000)
Query1不關閉狀態下,再開啟Query2,等候時間超久.約5分鐘.
Query2.SQL.text:='Select * from a114base Where cust_no='0421234567'
當我先將Query1 close ,再 open Query2 則OK.
使用 SQLmonitor 查看,delay時間為傳輸Query1的Result.WHY?
Query2 加上UpdateSQL機制也一樣無法改善.
還請先進指點.謝謝
題示:
1.Delphi 5.0
2.Use BDE 5.12
3.a114base約有140萬筆Record
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
|
taihao
一般會員 發表:1 回覆:13 積分:2 註冊:2005-11-02 發送簡訊給我 |
|
christie
資深會員 發表:30 回覆:299 積分:475 註冊:2005-03-25 發送簡訊給我 |
Hi taihao, 您的 Query 如果 Query1.RequestLive:=True; /* || 可以用DataSet(Query1) ShowModal顯示客戶詳細資料 */ 參考看看: Query1.Edit; Query1.Fields[2].AsString:='test';//即可修改之. Query1.Post; 無須另外一個Query.
------
What do we live for if not to make life less difficult for each other? |
taihao
一般會員 發表:1 回覆:13 積分:2 註冊:2005-11-02 發送簡訊給我 |
引言:Hi taihao, 您的 Query 如果 Query1.RequestLive:=True; /* || 可以用DataSet(Query1) ShowModal顯示客戶詳細資料 */ 參考看看: Query1.Edit; Query1.Fields[2].AsString:='test';//即可修改之. Query1.Post; 無須另外一個Query.>>< face="Verdana, Arial, Helvetica"> 感謝你的再次回應 開版文中已提到應用UpdateSQL,所以 Request:=True 已試過. 利用 DataSource.DataSet 去指定始祖表單的 DataSet 對於編修同一個DataSet可以如此解決. 但 如果必須 Select 其它 Table 就完蛋了 我開本版主要問題在於: 如果開啟大量Result的dataset後,在同一Session, 不關閉原dataset狀態下,再去Select其它Table. 則系統會將原dataset的Result全部回傳後,才會執行 我們要的Select程序. 看官可以去Select一個約有4萬Result的Query1. 不要關閉Query1,然後再Select另一個很小Result的Query2, 此問題就會發生(等到 USER以為當機). 使用 SQLmonitor 監看,可以發現一直在回傳Query1的Result. |
Arlung Miao
初階會員 發表:9 回覆:44 積分:25 註冊:2004-08-25 發送簡訊給我 |
本站聲明 |
1. 本論壇為無營利行為之開放平台,所有文章都是由網友自行張貼,如牽涉到法律糾紛一切與本站無關。 2. 假如網友發表之內容涉及侵權,而損及您的利益,請立即通知版主刪除。 3. 請勿批評中華民國元首及政府或批評各政黨,是藍是綠本站無權干涉,但這裡不是政治性論壇! |