2017-09-25 35 views
0

我讀到,當在回收站中的記錄太多,以排除那些從查詢中刪除,你可以使用條件「請將isDeleted地方=假」。但是在我的批處理中,監視時間,查詢比沒有顯式條件的查詢慢得多。至少第一次運行,然後看起來更快。然而,開發者控制檯獲得的結果總是令人興奮。 任何人都可以告訴我爲什麼,請幫助我!請將isDeleted的Salesforce = FALSE會減慢查詢,而不是提高它

回答

0

如果你讀過嗎?看起來很懷疑我。 isDeleted = false應該對所有正常的查詢(那些沒有在年底有ALL ROWS)沒有影響,因爲這就是他們做的開箱即用。如果有的話,甚至可能會減慢執行速度,因爲查詢優化器需要考慮這個字段(它沒有編入索引,對於99%的時間具有相同的值的索引是沒有用的)。

您可以查詢優化實驗開發者控制檯,並記住,一般索引統計一夜之間重新計算,所以如果你已經裝載大量的測試數據 - 「今天」的查詢可能仍然流失原有的統計信息。

你可能會過於複雜了,依靠的東西,一次性的結果,因爲例如服務器的負載是在你開始實驗時低。或者,也許這是關於只是沒有記錄的行爲,隨着最近的一個版本而改變。只需選擇/創建一個有意義的索引,你會變得更好。

更多的閱讀材料: