Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
.net SQL Server Compact Edition 3.5性能_.net_Sql Server Ce - Fatal编程技术网

.net SQL Server Compact Edition 3.5性能

.net SQL Server Compact Edition 3.5性能,.net,sql-server-ce,.net,Sql Server Ce,我正在我的一个客户端应用程序中使用SQL Server CE 3.5 SP1。当用户加载程序并开始使用它时,性能良好。如果用户让程序闲置一段时间,程序需要相当长的时间(10秒或更长时间)才能响应。每次用户请求新屏幕时,都会调用SQL CE数据库以获取该屏幕的数据。看起来硬盘可能要休眠,然后当访问数据库时,硬盘必须唤醒。是否可以将整个数据库加载到内存中并从中工作?关于如何提高性能还有其他建议吗?请确保在应用程序运行期间保持与数据库的连接处于打开状态。打开SqlCE连接是一项昂贵的操作。我很怀疑问题

我正在我的一个客户端应用程序中使用SQL Server CE 3.5 SP1。当用户加载程序并开始使用它时,性能良好。如果用户让程序闲置一段时间,程序需要相当长的时间(10秒或更长时间)才能响应。每次用户请求新屏幕时,都会调用SQL CE数据库以获取该屏幕的数据。看起来硬盘可能要休眠,然后当访问数据库时,硬盘必须唤醒。是否可以将整个数据库加载到内存中并从中工作?关于如何提高性能还有其他建议吗?

请确保在应用程序运行期间保持与数据库的连接处于打开状态。打开SqlCE连接是一项昂贵的操作。

我很怀疑问题出在SqlCE上。这是一个非常快速的数据库。正在进行中。此外,我已经加载了数十万条记录,如果使用SQL Express,我可以获得相同的性能

你能加载整个数据库吗?当然,这就是ADO.NET的用途。不要这样做


我怀疑你还有其他问题。例如,在加载表单之前是否对数据进行预处理,例如设置数据集关系、向数据表添加表达式列等。也可能是用户的计算机内存不足,而您遇到的是Windows页面错误。您认为是SqlCe访问数据库,可能是Windows在将应用程序写入分页文件后将其换回到内存中。

我认为您所拥有的只是一种预感;在您详细介绍之前,我会确保您完全理解问题的原因。它不会花费10秒的时间。嗯,我在windows服务应用程序中将SqlServerCE用作缓存数据库时遇到了性能问题。我使用分析器来确定性能损失的原因。我发现SqlServerCe连接关闭是原因。打开连接非常耗时,但关闭连接所需的时间大约是原来的8倍!这里是关于性能的:。我在实际做更多研究之前,太快地发布了这个问题(真丢脸)。你说得对。我正在为几个不同的视图加载数百条记录,而导致性能问题的似乎确实是windows分页。