SQLITE操作笔记
1.打开库
DOS:>sqlite3 test.db3
2.看库 sqlite>.database
看表 sqlite>.table
3.整理数据库 sqlite>vaccum
4.退出 sqlite>.exit
DOS:>sqlite3 test.db3
2.看库 sqlite>.database
看表 sqlite>.table
3.整理数据库 sqlite>vaccum
VACUUM
sql-statement ::= VACUUM [index-or-table-name]
VACUUM命令是SQLite的一个扩展功能,模仿PostgreSQL中的相同命令而来。若调用VACUUM带一个表名或索引名, 则将整理该表或索引。在SQLite 1.0中,VACUUM命令调用 gdbm_reorganize()整理后端数据库文件。
SQLITE 2.0.0中去掉了GDBM后端,VACUUM无效。在2.8.1版中,VACUUM被重新实现。现在索引名或表名被忽略。
当数据库中的一个对象(表,索引或触发器)被撤销,会留下空白的空间。它使数据库比需要的大小更大,但能加快插入速度。实时的插入和删除会使得数据库文件结构混乱,减慢对数据库内容访问的速度。 VACUUM命令复制主数据库文件到临时数据库并从临时数据库重新载入主数据库,以整理数据库文件。这将除去空白页,使表数据彼此相邻排列,并整理数据库文件结构。不能对附加数据库文件进行以上操作。
若当前有活动事务,该命令无法起作用。对于in-memory数据库,该命令无效。
SQLite3.1中,可以通过使用auto-vacuum模式取代VACUUM命令,使用 auto_vacuum pragma开启该模式。
C#里面实现是:sql-statement ::= VACUUM [index-or-table-name]
VACUUM命令是SQLite的一个扩展功能,模仿PostgreSQL中的相同命令而来。若调用VACUUM带一个表名或索引名, 则将整理该表或索引。在SQLite 1.0中,VACUUM命令调用 gdbm_reorganize()整理后端数据库文件。
SQLITE 2.0.0中去掉了GDBM后端,VACUUM无效。在2.8.1版中,VACUUM被重新实现。现在索引名或表名被忽略。
当数据库中的一个对象(表,索引或触发器)被撤销,会留下空白的空间。它使数据库比需要的大小更大,但能加快插入速度。实时的插入和删除会使得数据库文件结构混乱,减慢对数据库内容访问的速度。 VACUUM命令复制主数据库文件到临时数据库并从临时数据库重新载入主数据库,以整理数据库文件。这将除去空白页,使表数据彼此相邻排列,并整理数据库文件结构。不能对附加数据库文件进行以上操作。
若当前有活动事务,该命令无法起作用。对于in-memory数据库,该命令无效。
SQLite3.1中,可以通过使用auto-vacuum模式取代VACUUM命令,使用 auto_vacuum pragma开启该模式。
mycon = new SQLiteConnection("Data Source=test.db3;Version=3;New=True;");
mycon.Open();
SQLiteCommand com = mycon.CreateCommand();
com.CommandText = "vacuum";
com.ExecuteNonQuery();
mycon.Open();
SQLiteCommand com = mycon.CreateCommand();
com.CommandText = "vacuum";
com.ExecuteNonQuery();
4.退出 sqlite>.exit