我有一個Delphi應用程序與3個窗體,我使用Access 2003和Microsoft.Jet.OLEDB.4.0,我有一個ADOconnection在主窗體中,並使用它以各種形式。德爾福ADO與MS Access - 查詢時間減少後,運行特定查詢
我使用2個.mdb文件,其中my.mdb具有指向org.mdb表的鏈接。
一切正常,但非常緩慢。所以經過長時間的搜索,我來到了這裏。
我不知道爲什麼,但是在我運行這個查詢後,所有其他查詢的速度顯着增加(從1秒以下的10秒)。 (即使不排除鏈接表的查詢)。
表tb_odsotnost在my.mdb中
Table Userinfo已鏈接。
with rQueries.ADOQuery1 do
begin
Close;
SQL.Clear;
SQL.Add('SELECT DISTINCT tb_odsotnost.UserID, Userinfo.Name FROM tb_odsotnost');
SQL.Add('LEFT JOIN Userinfo ON Userinfo.UserID = tb_odsotnost.UserID');
SQL.Add('WHERE datum BETWEEN '+startDate+' AND'+endDate);
SQL.Add('ORDER BY Userinfo.Name ASC');
Open;
end;
我試圖用win7和MS Access 2007在另一臺計算機上運行我的應用程序,結果是一樣的。
好的,現在我只是運行這個查詢onFormActivate,但這不是一個永久的解決方案。
你的問題是什麼? – RRUZ 2012-02-14 19:54:32
這個SQL的小小和平如何影響所有其他quieries?我不想每次啓動程序時都運行這個查詢。沒有這些,其他查詢應該很快。所以我想知道如果訪問有一些「功能/兌現......」我不知道。它創造了一種隱藏的關係嗎?我將該過程移動到一個新窗體(創建一個新連接),並嘗試運行不同的查詢,結果相同。一切運行緩慢,直到我運行上面的查詢。我不知道我還能檢查什麼。 – user805528 2012-02-14 20:32:46