2010-04-27 80 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来标记用于生成查询计划的命令。