2017-07-15 5 views
0

私の背景がデータベースにないので謝罪しますが、私は他の人からプロジェクトを引き継ぐ必要があります。テーブルのプライマリIDSのリストを別のテーブルに保存する最も簡単な方法は?

約1,000万行のデータベースがあります。各行には0〜200の値をとる変数X1、X2、X2があります。一般的な検索では、X1が10〜30、X2が30〜40、X3が160〜170のすべての行が返されます。なんでも。

これは非常に遅いです。すべての値を正確に200 * 200 * 200行の単一の表に入れることでスピードアップできるのかどうか疑問に思っていました。そうすれば、すぐに検索して元のアイテムの主キーを取得するための主キーを持つことができます。

しかし、これらの値を追加クエリで簡単に使用できるように保存する方法はありますか?私はオンラインで検索してきましたが、今まで見つけたリソースと混同しています。

+0

より具体的な例が役立つと思います。 https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-a-very-simple-sql-queryを参照してください。 。ああ、1000万行は大きくないので、 – Strawberry

答えて

0

追加の詳細が役立ちますが、実行するクエリに常にX1、X2、X3が含まれている場合は、単一のテーブルを作成してグループPK、X1、X2、X3にユニークなインデックスを作成することから始めることができます

+0

...またはx1、x2、またはちょうどx1 – Strawberry

+0

の編集の自由を取って、x1、x2、x1に余分なインデックスを追加することができます。一意のインデックスにする - クエリの実行時間に影響するかどうかテストすることができます(インデックスには記憶領域がありますので、実行時間を節約できない場合はその点がありません) – Danyv

+0

番号は3つの構成をカバーします – Strawberry

関連する問題