使用SQLite如何在CREATE TABLE语句中索引列?
发布时间:2020-12-12 19:19:28 所属栏目:百科 来源:网络整理
导读:如何索引我的CREATE TABLE语句中的列?表看起来像 command.CommandText = "CREATE TABLE if not exists file_hash_list( " + "id INTEGER PRIMARY KEY," + "hash BLOB NOT NULL," + "filesize INTEGER NOT NULL);";command.ExecuteNonQuery(); 我想要文件大
如何索引我的CREATE TABLE语句中的列?表看起来像
command.CommandText = "CREATE TABLE if not exists file_hash_list( " + "id INTEGER PRIMARY KEY," + "hash BLOB NOT NULL," + "filesize INTEGER NOT NULL);"; command.ExecuteNonQuery(); 我想要文件大小为索引,并希望它是4字节 你不能精确地做你想要的,但是不像一些RDBMS,SQLite能够在事务中执行DDL,并获得适当的结果。这意味着,如果你真的担心没有什么没有看到file_hash_list没有索引,你可以做BEGIN; CREATE TABLE file_hash_list ( id INTEGER PRIMARY KEY,hash BLOB NOT NULL,filesize INTEGER NOT NULL ); CREATE INDEX file_hash_list_filesize_idx ON file_hash_list (filesize); COMMIT; 或使用任何数据库库的事务原语的等价物。 我不知道如何有必要真的是,虽然,只是做一个事务之外的两个命令。 正如其他人所指出的,SQLite的索引都是B树;你不能选择什么类型或列的哪个部分被索引;整个索引列在索引中。它对范围查询仍然有效,它可能会占用一些更多的磁盘空间比你真正想要的。 (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |