問題タブ [compound-index]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
sql-server - 複数の制約キー
私がテーブルに座っている場合:
- リソース (id (PK)、名前)
- マネージャー (id(PK)、resource_id (FK)、manager_resource_ID(FK))
resource_id と manager_id の両方がResourceテーブルへの外部キーである必要があります。
私は明らかに、適切なリソースではない各列に値を入力したくありません
最初の関係 (resource_id <-> id) を追加すると正常に動作しますが、
2 つ目 (manager_resource_id <-> id) を追加すると、次のエラーで失敗します。
関係 [ を作成できません。. .] ALTER TABLE ステートメントが FOREIGN KEY 制約 [... ] と競合しました。テーブル Resource、列 ID で競合が発生しました
または、これを 3 つのテーブルに分割する必要がありますか?
Resource(id, first, last)
Resource_manager(id, resource_id, manager_ID)
Manager(id)
sql-server - WHERE 句に 1 つの列しかない場合、SQL Server は複合インデックスを使用しますか?
テーブルがあるとします:
通常、クエリはFirstNameまたはLastNameに対して行われますが、 FirstName および LastNameに対しても行われます。
FirstNameに非クラスター化インデックスを作成し、LastNameに別の非クラスター化インデックスを作成すると、最初の 2 つのクエリが処理されます。どうやら、SQL Server は他のクエリにインデックス交差を使用するようです。
または、(FirstName) と (LastName, FirstName) にインデックスを付けている場合、SQL Server はLastNameだけのクエリと両方のクエリに 2 番目のインデックスを使用できますか?
SQL Server は、複合インデックス パーツを左から右または右から左のどちらで保存しますか? つまり、LastNameFirstName または FirstNameLastName としてキーを作成しますか? それとも、任意に選択するのは自由ですか?
mysql - MySQL: 3 つのフィールドの複合インデックスを作成するか、3 つの個別のインデックスを作成しますか?
他の属性の中でも、タイムスタンプ、タイプ、および user_id を持つ MySQL テーブルがあります。
それらはすべて検索および/またはソート可能です。
それぞれにインデックスを作成するか、3 つすべてを含む単一の複合インデックスを作成するか、またはその両方を作成する方がよいでしょうか?
oracle - 複数列インデックスの列の順序
私は、パフォーマンス上の理由から、複数の列でインデックスを作成するときは、最も選択的な列を最初に配置する必要があると言われ、どこでもそれを読みました (しかし、誰もあえて理由を説明しませんでした)。何故ですか?それは神話ですか?
sql - 全表スキャンを回避するためのSQLクエリの最適化
次のクエリについて考えてみます。
TransactionsテーブルのStamp列はTIMESTAMPであり、インデックスがあります。全表スキャンを回避するようにこのクエリを変更するにはどうすればよいですか?(つまり、 day()関数の外でStampを使用する)
ありがとう!
mysql - mysql の複数列インデックスが機能しない (予想どおり)?
このようなテーブルがあります
可視性、num_subscribers、および num_items に関するインデックスがあるため、最初の 15 行のみを調べる必要があると予想しますが、EXPLAIN では 55856 行と表示されます。何か案が?ありがとう
oracle - どのインデックスが必要ですか?
のテーブルがある場合TABLE_1
、5列としましょう。
そして、私がやりたい主なクエリが2つあります。
そして他の存在:
どのインデックスを作成する必要がありますか?列を使用して1つを作成しCOL1
、両方のクエリのインデックスを作成しますか、それとも2番目のクエリを高速化するためCOL2
だけに別のインデックスが必要ですか?COL2
ありがとう!
mongodb - MongoDBでは、インデックスを作成するために選択する必要のあるフィールドは何ですか?
フィールドaとbでフィルタリングし、次にcで順序付けするクエリがある場合、a、b、cに個別のインデックスを作成する必要がありますか、それとも実際に(a、b、c)の複合インデックスを作成する必要がありますか?また、クエリのシーケンスはインデックスのシーケンスと一致する必要がありますか?つまり、クエリのフィルターシーケンスがフィルターb、フィルターc、次にaで順序付けされている場合、複合インデックス(b、c、a)を使用する方がよいでしょうか。
mongodb - MongoDB、地理空間クエリ、範囲クエリ、および異なる列での並べ替えを含むクエリのインデックスを作成する方法は?
したがって、次のことを行うクエリがある場合(疑似コードで)
find(近くの x, b > y).sort(c)
ここで、a は geo 列、b は long 型、c も long 型です。
(a:2d, b:1, c:1) の複合インデックスは機能し、提案されますか?
sql - 複合を含むSQLselect句
Microsoft SQL Server 2008データベースに次の構造の2つのルックアップ/参照テーブル(サブスクライブおよびアンサブスクライブ)があります。
これらのフィールドは、複合インデックスとして一緒にインデックス付けされます。
私ができるようにしたいのは、サブスクライブされたテーブルに一致するレコード(UserIdとPublicationIdに一致する)がない、サブスクライブされていないテーブルに存在するすべてのレコードを見つけることです。
機能的には、次のようなものが必要です。
誰かが私を正しい方向に向けることができますか?
ありがとう。