CREATE TABLEステートメントで列のインデックスを作成するにはどうすればよいですか?私はファイルサイズがインデックスになりたい、それは私はあなたができるとは思わない4バイトSQLiteの使い方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();
のように表には見えます。なぜ2番目のクエリを使用できないのですか? SQLiteでは、インデックスのサイズを指定することは不可能と思われます。しかし、その後、再び、それはSQ_Lite_ある;)
create index
myIndex
on
myTable (myColumn)
EDIT:は、私はそれは間違いなく動作しませんbeause (ソリューションとして行われていないべきかを示すことを目的に、このVERY BAD IDEAを残しました)。
filesize INTEGER NOT NULL
をfilesize INTEGER UNIQUE NOT NULL
に置き換えてください。 uniqueキーワードはインデックスを作成します。別個のCREATE INDEXコマンドを実行することもできます。
Matt Wolfeは、ファイルサイズが一意であると宣言していると指摘しました。明らかに2つの異なるファイルが同じサイズを持つことができるので、本当に悪い考えです。もちろん、これは愚かで、明らかにOPが望むものではありません。
UNIQUEは、ファイルサイズにユニークな値が含まれている必要があることを意味します。インデックスを作成するのと同じではありません。 –
@Enrico Detoma:SQLiteではなくMS SQLの場合はhttp://www.sqliteを読んでください。 org/faq.html#q26しかし、実際には行がそのテーブル内で一意の値を持つべきであることを意味しますが、これはテーブルがすでに主キーを持っているのでここでは妥当な制約のようです。 UNIQUEは最小限の変更で索引を作成します。 – kriss
クリス、私はあなたがその点を逃したと思う。上の例では、一組の列を一意であると宣言していないので、ファイルサイズを一意にすると宣言します。実際には2つの異なるファイルが同じサイズを持つことができるので、本当に悪い考えです。これは、ユーザが望んでいたものではありません。 –
あなたが求めていることを正確に行うことはできませんが、一部の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;
または同等の操作を行うことができます。
どうすればいいのか分かりませんが、実際にはトランザクションの外で2つのコマンドを実行するのと比べてです。
他の人が指摘しているように、SQLiteのインデックスはすべてBツリーです。タイプが何であるか、または列のどの部分が索引付けされるかを選択することはできません。索引付けされた列全体が索引に含まれます。範囲問合せでも効率的ですが、実際に必要とするディスク容量よりもわずかなディスク容量を必要とするだけです。
- 1. Rails create table migration内でユニークなインデックスを作成するにはどうすればよいですか?
- 2. create tableはどのようにj2htmlを使用しますか?
- 3. mysqldumpを使ってCREATE TABLEコマンドだけをエクスポートするにはどうすればいいですか?
- 4. sqliteでマテリアライズドビューを作成するにはどうすればいいですか?
- 5. MySQLで長いjoin&create table(インデックス作成済み)
- 6. スクリーンリーダー:<table>で複数のラジオボタングループを作成するにはどうすればよいですか?
- 7. SQLite用のSQLスクリプトファイルでALTER TABLEを避けるにはどうすればよいですか
- 8. logstashを使用してjsonファイルのインデックスを作成するにはどうすればよいですか?
- 9. Android - SQLite create table error
- 10. パブリックリンクがないGoogleの動的ページのインデックスを作成するにはどうすればよいですか?
- 11. 計算カラムを使用してピボットテーブルを作成するにはどうすればよいですか?
- 12. React Tableのフィルタフィールドをリセットするにはどうすればよいですか?
- 13. SQLiteを使用してCodeigniterでCRUDを作成するにはどうすればよいですか?
- 14. WebSQL APIを使用せずにsqlite DBを作成するにはどうすればよいですか?
- 15. 2つのMySQLカラムでフルテキストインデックスを作成するにはどうすればよいですか?
- 16. ウェブサービスアプリの作成にはどうすればよいですか?
- 17. ダイナミックアイテムのテーブルにピリオドを含むブックスタイルのインデックスを作成するにはどうすればよいですか?
- 18. Pythonでインデックス作成でCouchbase関数を使用するにはどうすればよいですか?
- 19. プリペアドステートメントの作成時にオプションのカラムを扱うにはどうすればいいですか
- 20. このSQLクエリのインデックスを作成するにはどうすればよいですか? (MySQLの)
- 21. SQLiteで時間間隔のクエリを作成するにはどうすればよいですか?
- 22. iPhone用のモノタッチでSQLiteデータベースを作成するにはどうすればよいですか?
- 23. カラム名としてsqlタイムスタンプを作成するにはどうすればよいですか?例えば
- 24. qt sqliteで「CREATE TABLE IF NOT EXISTS」文が機能しない
- 25. Eclipse(またはIDE)で.tdファイルのインデックスを作成するにはどうすればよいですか?
- 26. splunk webを使用してインデックスを作成するにはどうすればよいですか?
- 27. create realm権限でOpenAMでユーザーを作成するにはどうすればいいですか?
- 28. このnumpy配列のインデックスを作成するにはどうすればよいですか?
- 29. マトリックス内の疎な要素のインデックスを作成するにはどうすればよいですか?
- 30. インデックスから範囲外の例外を作成するにはどうすればよいですか?
「ユニーク」という単語は必須ではなく、元の質問から判断すると、おそらくどちらかと言えません。 – hobbs
右それがどこから来たのか分からない。 –