2016-04-18 7 views
0

2つの列(xco、yco)で「より小さい」と「より大きい」を頻繁にクエリするテーブルを実装する必要があります。例えば、私は頻繁にようなクエリ解雇でしょう頻繁に大きいクエリと小さいクエリのSQLテーブル構造

enter image description here

次の表を検討 - 持っている私に与えるすべてのIDをXCO> 6.それとも私に< 9 XCOをYCOているとYCOが変化するであろうすべてのIDを与えます。しかしそれほど頻繁ではない。

このようなユースケースに対しては、どのようなデータベース設計が適していますか?私は行の数が10,000から50,000の間であることを期待しています。私は現在、システムの他の部分がAWS上にあるので、AWS RDSを試しています。 DynamoDBはこのケースに適していますか?私は、SQLについてのかなり基本的な知識があり、NoSQLについてのほとんどの知識はありません。

答えて

2

任意のリレーショナルデータベースは、そのようなクエリを簡単に実行します。

CREATE TABLE foo (
    id ... 
    xco INT ... 
    yco INT ... 
    PRIMARY KEY(id), 
    INDEX(xco), 
    INDEX(yco) 
) 

は次にこれらを簡単に行うことができます。

SELECT * FROM foo WHERE xco > 6; 
SELECT * FROM foo WHERE yco < 9; 
+0

グレート!ありがとう。私はxcoとycoにインデックスを付けることはできなかった。私はSQL最適化のことについて読む必要があります。確かに、これは50,000レコードの規模になりますか? – emotionull

+0

50_thousand_は簡単です。 50兆億円はさらに議論が必要です。 –