問題タブ [database-indexes]
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.
mysql - MySQLは単一のクエリに複数のインデックスを使用できますか?
たとえば、複数の列を持つテーブルを想像してみてくださいid, a, b, c, d, e
。私は通常、によって選択しますがid
、クライアントアプリには、列のサブセットに対してさまざまな条件を使用する複数のクエリがあります。
MySQLが複数の列に複数のWHERE条件を持つ単一のテーブルでクエリを実行する場合、異なる列に作成されたインデックスを実際に利用できますか?または、高速化する唯一の方法は、考えられるすべてのクエリに対して複数列のインデックスを作成することですか?
indexing - CQL3でのCassandra1.1複合キー、列、およびフィルタリング
次のようなテーブルが欲しいのですが。
全部で13のフィールドがあります。これらのほとんどはバケットを表しています。データは製品ファミリーIDのJSONであり、後続のクエリで使用されます。Cassandraがどのように機能するかを考えると、内部の列名が値になります。これらをフィルタリングしたいと思います。
次のようにクエリを実行したいと思います。
- Cassandraは、複合行キーまたはインデックス付き列に対してのみWHERE述語を実行できることを読みました。これはまだ本当ですか?もしそうなら、私は列をPKのデータ部分にする必要があります。
- それでも、左から右にすべての列を含める必要があり、スキップできない場合はありますか?
- 私のデザインに最適でない点はありますか?
- 製品ファミリで可能な材料の配列である「材料」列を追加したいと思います。ピザのトッピングを考えて、「WHERE Materials IN('パイナップル')」とクエリします。マテリアルの個別の転置インデックスを作成してから、上記のクエリに対して手動で交差を実行せずに、Cassandraでこれを処理する他の[よりエレガントな]方法はありますか?
mysql - SQL ステートメントに項目を追加するとパフォーマンスが低下する
次のようなSQLステートメントがあります。
WHERE ステートメントのすべての列は、インデックス付きの列です。
これを実行すると、1 秒以上かかります。ただし、他の Id3 なしでこれを実行すると、パフォーマンスが大幅に向上します (0.03 秒)。
説明を実行すると、otherId3 で、otherId1 と otherId3 を使用したインデックス マージが使用されます。ただし、otherId3 を削除すると、otherId2 の単一のインデックスが使用されます。
otherId3 を追加するとパフォーマンスに影響するのはなぜですか?
テーブル構造:
インデックス
mysql - MySQL BETWEEN インデックス
数値 (先行ゼロのために文字列として保存される) が特定の範囲に収まるかどうかを判断する必要があります。範囲は次のようになります。
1233435 は最初の範囲にあると見なされます (一致は左からです)。番号は最大 20 桁で、すべての範囲が含まれるファイルがあります。範囲をインポートして、下限に末尾のゼロを追加し、上限に末尾の 9 を追加して、長さ 20 にしました。これは、可変長の数値を処理できるようにするためです。次のクエリ:
数千の範囲があるので、テーブルにインデックスを付けたいのですが、どうすればこれを達成できるかわかりません。
ありがとう、メンデル
mysql - MySQL の挿入、更新頻度の高い、インデックスによる並べ替え
私は現在、events
挿入 (および更新) が多い (1 分あたり 1,000 ~ 5,000 回の挿入を予測している) テーブルを持つデータベースを設計していますが、日付で並べ替える必要もあります。
各イベントにはread
ブール フィールド があり、 (datetime)で並べuser_id
替えられます。selectステートメントは次のようになりますupdated_at
DESC
現在、read
、user_id
、および でインデックスを使用しupdated_at
てフェッチとソートを最適化することを考えていますが、これはインデックス全体が で更新されることを意味しますか?
?
この状況で最もパフォーマンス効率の高い (挿入、更新、選択) ソリューションは何でしょうか?
sql - SQL式のデータベースINDEXを作成するにはどうすればよいですか?
私はインデックスの初心者です。実行に時間がかかりすぎるこのSQL式のインデックスを作成したいので、どの正確な列にインデックスを作成する必要がありますか?私はDB2dbを使用していますが、質問は非常に一般的だと思います。
私のSQL式は次のとおりです。
この5列でインデックスを作成する必要がありますか?
ありがとう
sql - インデックスを使用して SELECT * コマンドを最適化するには?
私はインデックスに不慣れで、大きな問題を抱えています。
クエリSELECT * FROM TABLE
が長すぎます。
インデックスを使用してより迅速な結果を得るためにこれを最適化することは可能ですか?
WHERE
インデックスが節などで役立つことは知っていますが、これはSELECT *
?
私は 200,000 件以上のレコードを持っていますが、もちろんそれらはすべて一意の ID を持っています。
ID 列を持つ 1 つのインデックスを作成するだけで十分ですか、それとも最善の戦略は何ですか?
database - Neo4j:自動インデックスを作成するためのステップバイステップ
新しいNeo4jデータベースを作成しています。Userというタイプのノードがあり、userIdentifierとEmailAddressのプロパティのインデックスが必要です。データベースが新しい場合、どのようにインデックスを設定しますか?neo4j.propertiesファイルで、インデックスの作成がサポートされているように見えることに気づきました。しかし、私がこれらをそのように設定すると
そして、ノードを追加し、クエリを実行して、存在することがわかっている識別子を見つけます
それから私は
インデックスを作成して開始クエリで使用するにはどうすればよいですか?私はこれを達成するために設定ファイルと暗号を使用したいだけです。つまり、現時点では、PowerToolConsoleでのみプレイしています。
ssis - インデックスと制約があるテーブルを更新する
次のシナリオでは、SQL Server2008R2のテーブルを別のサーバーにあるデータでリロードする必要があります。ターゲットテーブルにはインデックス(クラスター化および非クラスター化)と制約(複数のテーブルへの外部キー)があり、主キーは別の別のテーブルへの外部キーでもあります。また、ターゲットテーブルの主キーはIDです。
この状況に取り組む上で、「ベストプラクティス」として最も適切なものは何でしょうか。
以下は合理的でしょうか:
- ターゲットテーブルにインデックスを削除する-(SQLスクリプトタスク)
- 最初に非クラスター化インデックスを削除します
- 次に、クラスター化されたインデックスを削除します
- ソーステーブルからターゲットテーブルへのDataFlowポイント。
- Destination Editorで、Keep Identity、Keep nullsをチェックし、Checkconstraintのチェックを外します。
- ターゲットテーブルにインデックスを作成する-(SQLスクリプトタスク)
テーブルの構造と制約は、ソーステーブルとターゲットテーブルで同じであると予想されることに注意してください。言い換えれば、QAから開発までのデータをリロードするだけで同じです。
mysql - 重複更新では、一意のインデックスでは機能しません
挿入/更新しようとしているSQLテーブルには次の定義があります。
ご覧のとおり、some_idとsomeOther_idはインデックスを共有しています。
次のような挿入/更新ステートメントを実行しようとしています。
idを指定しなかったので、挿入/更新ルールとしてインデックスキー(some_id_index1)にフォールバックすることを期待しています。ただし、挿入のみです。
明らかにこれは正しくありません。私はここで何が間違っているのですか?