プライマリキーを知っているときに、レコードが存在するかどうかを確認する最速の方法は何ですか? select
,count
,filter
,where
などですか?レコードが存在するかどうかを確認する最速の方法
1
A
答えて
1
EXPLAIN QUERY PLANで確認できます。具体的なクエリに対しては、&の費用が表示されます。
コストは実行間では直接比較されませんが、大きな違いがあるかどうかはまあまあです。
と言われていますが、おそらくCOUNT(id) FROM table WHERE table.id="KEY"
が部分検索能力(特にアマゾンの赤方偏移のようなcolumnar databasesで速い)と主キー索引付けを利用するので、理想的です。
1
count
を使用すると、2番目のレコードが存在する可能性があるため、レコードが見つかった場合でもデータベースは検索を続行する必要があります。 したがって、実際のレコードを検索し、最初のレコードの後で停止するようにデータベースに指示する必要があります。
レコードからデータを返すように要求すると、データベースはそのデータをテーブルから読み取る必要があります。しかし、インデックス内のIDを参照してレコードを見つけることができれば、そのテーブルへのアクセスは不必要になります。 Soは、あなたが検索に使用したIDだけを返すべきではありません:あなたが使用しているとき
とにかくSELECT id FROM MyTable WHERE id = ? LIMIT 1;
、実際のデータとリミットを読んでいない暗示されてピーウィーが簡単である、EXISTS:
それは(Amazonの赤方偏移のような柱状のデータベースで特に高速な)部分的なルックアップ機能を利用しますようtable.id =「KEY」は、 `、おそらく理想的であるテーブルFROMSELECT EXISTS (SELECT * FROM MyTable WHERE id = ?);
MyTable.select().where(MyTable.id == x).exists()
関連する問題
- 1. CRMレコードが存在するかどうかを確認する
- 2. レコードが存在するかどうかを確認するCakephp
- 3. Dapperでレコードが存在するかどうか確認ORM
- 4. Drupal 7:dbエントリが存在するかどうかを確認する最速の方法
- 5. 値がstlコンテナに既に存在するかどうかを確認する最速の方法
- 6. コアデータDBにレコードが存在するかどうかを確認する最善の方法
- 7. 現在アクティビティインスタンスが存在するかどうかを確認する方法
- 8. dbにレコードが存在するかどうかを調べる最速の「GENERIC」方法ですか?
- 9. データベースにレコードが存在するかどうかを確認する
- 10. レコードが存在するかどうかを確認するには
- 11. レストAPIにレコードが存在するかどうかを確認しますか?
- 12. xElementの値が存在するかどうかを確認する方法は?
- 13. windowsstore appにファイルが存在するかどうかを確認する方法
- 14. ファイル名が既に存在するかどうかを確認する方法?
- 15. データベースがSQL Serverに存在するかどうかを確認する方法?
- 16. Firebaseリアルタイムデータベース:子値が存在するかどうかを確認する方法
- 17. Zend Framework 2 - クッキーが存在するかどうかを確認する方法?
- 18. インスタンスがXFormsに存在するかどうかを確認する方法は?
- 19. Twilio.Deviceハンドラが既に存在するかどうかを確認する方法
- 20. mysqlデータベースが存在するかどうかを確認する方法
- 21. メモリマップファイルが存在するかどうかを確認する方法は?
- 22. Selenium - リストボックスにテキストが存在するかどうかを確認する方法
- 23. Cassandraテーブルが存在するかどうかを確認する方法
- 24. テーブル(エンティティ)がRavenDBに存在するかどうかを確認する方法
- 25. google app script-フォルダが存在するかどうかを確認する方法
- 26. Google Storage:オブジェクトが存在するかどうかを確認する方法
- 27. Firebaseにユーザ名が存在するかどうかを確認する方法
- 28. PECL拡張が存在するかどうかを確認する方法は?
- 29. フラグメントが存在するかどうかを確認する方法?
- 30. アイテムがCache(System.Web.Cache)に存在するかどうかを確認する方法?
' COUNT(ID)と主キーの索引付け。 – TemporalWolf
最速の方法は、指定されたオプションの中でcountを使用することです。より多くのrawを使用するには、sqlite3_column_count()をsqliteソースから直接使用して、ユーザー定義のハッシュリストを維持します。 – Jerry