2010-04-27 77 views

回答

1

不完全確定您認爲需要完成什麼樣的「整理」 - 索引不會保留不必要的記錄或任何內容。如果您只想恢復數據庫中的可能空白空間(索引和表),則可以使用SqlCeEngine類中的CompactShrink方法。

+0

那麼,當我的移動應用程序啓動時,一些查詢最多需要5分鐘,但是在相同表上的3/4查詢之後,它們在幾秒鐘之內就會完成一次。 所以我雖然也許在第一次查詢,數據庫是reindex或類似的東西。 所以我想找到一種正確的方式來手動啓動這個「reindexing」過程,當應用程序同步而不是當我真正需要數據時。 – Jalil 2010-04-28 14:23:51

+0

對於移動應用程序,需要5分鐘的查詢聽起來更像是數據庫設計問題。你是否手動添加索引? – Jason 2010-05-05 22:34:20

+0

是的,有索引。 並且在每種類型的第一個查詢(30分鐘到幾分鐘)之後,相同類型的所有查詢執行得非常快(最多10秒)。 – Jalil 2010-05-08 11:41:38

1

在首次執行SqlCeCommand實例時,SQL CE引擎需要爲該查詢生成查詢計劃。第一次執行總是比後續執行慢。您還可以重新使用命令實例,並在SqlCeCommand上調用Prepare來標記用於生成查詢計劃的命令。