我一直在努力將Access數據庫轉換爲MS SQL。對於我的初始測試,我使用SQL Server Express 2014將後端數據導入到我的系統中。到目前爲止,除了一個查詢外,我已經能夠使用我的Access前端工作。使用Access前端與SQL後端查詢速度
設置有問題的表上的主鍵已經幫助了一些但不完全。當我在Access中運行查詢時,需要大約10秒的時間才能運行,但是當我從第二臺計算機運行它時,運行時間需要30秒。但是,如果我直接運行查詢Server Management Studio,它會在一秒鐘內運行。
我不確定是否因爲我的筆記本電腦正在運行SQL,因爲它是SQL Server Express或兩者的組合,導致速度放慢。我希望有人能爲我提供更多信息。
下面是該查詢的副本:
SELECT tbl_defects.*,
tbl_parts.part_type,
tbl_parts.number,
tbl_parts.mold,
tbl_parts.date_created,
tbl_parts.blade,
tbl_parts.product,
tbl_defects.defects_id
FROM tbl_parts
RIGHT JOIN (tbl_dispositions
RIGHT JOIN tbl_defects
ON tbl_dispositions.dispositions_id =
tbl_defects.disposition)
ON tbl_parts.parts_id = tbl_defects.part
ORDER BY tbl_defects.defects_id DESC;
在tbl_Defects主鍵是Defects_ID並且它被設置爲索引。在tbl_disposition上,主鍵是Disposition_ID,它被設置爲索引。第三個表tbl_parts的主鍵是Parts_ID,它也被設置爲索引。
如果我將任何右連接切換爲內連接,查詢將正常運行,但會丟失大約2000條記錄。
使傳遞查詢明確幫助速度,但最終導致其他問題。我有一種形式,當它打開它不想顯示查詢。在它做的表單中做了一些修改之後,即使所有的控制源都是正確的,並且通過VBA更新的字段也有同樣的問題,但其他字段並未更新。我不確定是什麼原因造成的。如果你喜歡,我可以提供VBA和其他SQL查詢。但最初的速度問題已經解決了,所以我想爲此表示感謝。 – vxd128
@ vxd128:這可能最好在新問題中提出。傳遞查詢的行爲應該像快照 - 它通常顯示爲與Access查詢類似,但不可編輯。 – Andre