2016-06-12 39 views
0

我有很多水晶報告到同一個數據庫。在給定相同的日期參數的情況下,一些執行很快,許多字段和他們訪問的表格一樣。我的一個報告用於快速運行,現在運行速度非常緩慢,我可以看到它在查看所有記錄 - 在底部0 of 100000之間,直到找到記錄。我不知道我可能做了什麼改變。一些報告仍然運行得很快,有些則沒有。這些發現與我正在談論的報告是一致的。有誰知道爲什麼設置可能會造成這種情況?爲什麼Crystal Reports Query很慢?

我試過尋找它們之間的細微差別 - 我什麼也看不見。其中許多來自原始克隆(仍然工作得很快)。

在性能部分的CR書中,它指出如果where子句不能被翻譯,它將被忽略,並且對於所有記錄的過程 - 這就是這個樣子 - 雖然我有一個有效的where子句,當我在報告中檢查它。

Use Indexes Or Server For Speed被選中。 「報告選項」中的所有其他設置均相同。

感謝

回答

0

你可以做一些故障排除:

  • 嘗試直接在數據庫運行查詢,看看需要多長時間。

  • 在報告中是否添加了業務邏輯?

  • 也可能嘗試在新鮮報告中放入相同的查詢並查看是否需要類似的時間。
  • 也嘗試調試你的應用程序,看看你的代碼的一部分,使您的報告顯示緩慢。
  • 你在本地數據庫或某些服務器上運行它嗎?
  • 此外,如果你可以分享你的查詢,所以我可以看看。

讓我知道你是否需要更多的幫助。

+0

謝謝。我在Crystal Reports 11中都打開了這兩個報告,它們都使用相同的日期範圍,一個執行時間不到一秒鐘,另一個則需要2分鐘以上,我可以看到這個計數器,而不是另一個。這些報告使用不同的登錄名,但仍然使用同一個數據庫。與登錄唯一的區別是訪問不同的表。業務邏輯的含義?遠程服務器。他們不希望我顯示查詢。這兩個報告基本上是一樣的 - 所以我把蘋果和蘋果比較。 – OneFineDay

+0

嘗試在其他報告中放入相同的登錄名並查看它是否可以更快地運行。業務邏輯意味着,報表中可以包含額外的邏輯,例如計算字段,某些格式化邏輯,如果某些字段中還有其他邏輯等。還可以通過創建新的新報告來進行檢查,以便在需要相同時間時進行故障排除。也只是在連接字符串中使用服務器名稱作爲「服務器= NP:服務器\實例」,讓我知道它是否有幫助.. –

+0

是的,兩者都有商業登錄,主要是相同的 - 新的報告可能有一些細微的差異。最大的收穫就是有一天它工作得很好,從那時起它一直很慢。我不知道我做了什麼改變。要從頭開始重建需要花費很多時間 - 也許我必須嘗試一下 - 不要期待這一點。再次感謝你的幫助! – OneFineDay