2014-03-01 83 views
0

有沒有辦法得到一個參數化查詢的執行計劃沒有綁定實際值?檢索SQLite執行計劃的查詢參數

我在我的應用程序中使用System.Data.SQLite,我試圖得到一個查詢的執行計劃,以進行調試和性能分析。這個想法是在實際語句之前添加一個EXPLAIN QUERY PLAN字符串,執行並將結果轉儲到調試控制檯。

該策略對於非參數化查詢很有效,但在參數化查詢時失敗。

有什麼辦法可以解決這個問題嗎? SQLite是否應該在參數綁定發生之前準備執行計劃?

回答

0

SQLite本身並不要求每個參數都明確地綁定;默認值是NULL。

如果您使用的數據庫驅動程序強制您設置所有參數,請將它們設置爲NULL。

如果啓用了索引統計信息,則只要設置了新參數,SQLite就可以重新編譯語句。在這種情況下,執行計劃可能與實際參數值不同。