首页 > 数据库技术 > 详细

使用C# 压缩 SQLite 数据库注意事项

时间:2015-09-19 22:42:30      阅读:269      评论:0      收藏:0      [点我收藏+]

当从SQLite数据库中删除了大量数据,如果发现数据库文件并未变小,可以执行 VACUUM 命令,该命令将重新组织数据库,释放多余空间。

测试插入数据

                try
                {
                    SQLiteConnection cnn = new SQLiteConnection(@"Data Source=G:\App_Data\Data.sqlite;");
                    cnn.Open();
                    using (SQLiteTransaction dbTrans = cnn.BeginTransaction())
                    {

                        using (SQLiteCommand cmd = cnn.CreateCommand())
                        {

                            try
                            {

                                cmd.CommandText = @"INSERT INTO Students (Name, Description) VALUES   (‘1‘, ‘2‘)";

                                for (int n = 0; n < 100000; n++)
                                {
                                    cmd.ExecuteNonQuery();
                                }

                                dbTrans.Commit();
                            }
                            catch
                            {
                                dbTrans.Rollback();
                            }

                        }

                    }
                }
                catch (Exception ex)
                {
                    Clipboard.SetText(ex.Message + "\r\n\r\n" + ex.StackTrace);
                }

 

删除表中的数据后,发现数据库文件并未变小。

执行以下操作:

            using (SQLiteConnection connection = new SQLiteConnection(connectionString))
            {
                using (SQLiteCommand cmd = new SQLiteCommand("VACUUM", connection))
                {
                    try
                    {
                        connection.Open();
                        cmd.ExecuteNonQuery();
                    }
                    catch (System.Data.SQLite.SQLiteException E)
                    {
                        connection.Close();
                    }
                }
            }

 发现数据库文件变为2kb。

注意压缩数据库执行操作中,不要使用Transaction事务,否则会失败。

 

使用C# 压缩 SQLite 数据库注意事项

原文:http://www.cnblogs.com/kosin/p/4822355.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!