Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sql-server/25.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/sharepoint/4.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
Sql server SQL Server CE中的收缩和压缩有什么区别?_Sql Server_Sql Server Ce - Fatal编程技术网

Sql server SQL Server CE中的收缩和压缩有什么区别?

Sql server SQL Server CE中的收缩和压缩有什么区别?,sql-server,sql-server-ce,Sql Server,Sql Server Ce,我有一个定期运行的方法来优化我的应用程序的SQL Server Compact Edition(3.5)数据库。现有代码使用Shrink()方法: 今天我注意到还有一个Compact()方法。对于定期维护,哪一种更可取?来自: 这两者的区别是 非常类似于内部和外部 内存碎片 根据文件 回收数据库中浪费的空间 通过移动空的和未分配的页面 到文件的结尾,然后 截断文件。你可以 将数据库配置为自动 通过设置自动收缩来收缩 连接字符串中的阈值选项。 Shrink不会创建临时文件 数据库文件 根据文件

我有一个定期运行的方法来优化我的应用程序的SQL Server Compact Edition(3.5)数据库。现有代码使用Shrink()方法:

今天我注意到还有一个Compact()方法。对于定期维护,哪一种更可取?

来自:

这两者的区别是 非常类似于内部和外部 内存碎片


根据文件

回收数据库中浪费的空间 通过移动空的和未分配的页面 到文件的结尾,然后 截断文件。你可以 将数据库配置为自动 通过设置自动收缩来收缩 连接字符串中的阈值选项。 Shrink不会创建临时文件 数据库文件

根据文件

回收数据库中浪费的空间 通过从创建新的数据库文件 现有文件。通过创建新的 数据库意味着,它回收免费的 行与行之间的间距


更清楚地说,收缩声称 完全免费或免费的页面 未分配的;其中,合同索赔 页面中浪费的空间也是如此。 因此,Compact需要创建一个新的 数据库文件

        SqlCeEngine engine = new SqlCeEngine(dbConnectionString);
        engine.Shrink();