我遇到了Microsoft SQL Compact 3.5数据库的奇怪行为。 在我正在工作的应用程序中,我需要在台式PC上创建一个SQL压缩数据库并将其发送到几个PDA(运行WinCE 5)。
数据库很重(300 MiB)。
问题在于,当我第一次在PDA上打开数据库时,打开它需要超过10分钟。之后没有问题,打开,阅读,寻求进入数据库。只是第一次开放很长。我测试了用自己的软件和PDA上的查询分析器打开它,结果相同。
我还发现,如果我将数据库复制回台式PC,打开它只需要更长时间(几乎不可察觉)。然后我将打开的文件复制回PDA,第一次打开需要10分钟。
我还使用缩小的数据库进行了测试(使用缩小操作),等待40分钟后我放弃了。
这是一个已知问题吗?难道我做错了什么 ? 有没有办法防止这种情况发生?
感谢。
答案 0 :(得分:1)
是的,这是由OS差异引起的已知问题
解决方法:
在安装应用后,在平台上创建数据库文件,例如使用我的脚本API。
在每个目标平台上包含一个已在目标平台上构建/打开的数据库文件(特别是只读数据库的问题)
避免使用基于字符串的键的索引(在大多数情况下可能不可能)
推迟在部署期间或之后建立索引
http://erikej.blogspot.dk/2013/08/faq-why-is-opening-my-sql-server.html