2016-04-18 9 views
0

Ich muss eine Tabelle implementieren, um häufig für 'weniger als' und 'größer als' auf 2 Spalten (xco, yco) abzufragen. Betrachten wir zum Beispiel die folgende TabelleSQL Tabellenstruktur für häufige mehr als und weniger als Abfragen

enter image description here

ich häufig eine Abfrage wie Feuer würde - geben Sie mir alle IDs, die xco haben> 6. Oder geben Sie mir alle IDs, die < 9. xco und yco YCo hätte ändern . Aber nicht so oft.

Was könnte ein gutes Datenbankdesign für einen solchen Anwendungsfall sein? Ich erwarte, dass die Anzahl der Zeilen zwischen 10.000 und 50.000 liegt. Ich versuche gerade AWS RDS, da andere Teile des Systems auf AWS sind. Würde DynamoDB für diesen Fall gut sein? Ich habe ziemlich grundlegende Kenntnisse über SQL und fast keine über NoSQL.

Antwort

2

Jede relationale Datenbank führt solche Abfragen problemlos aus.

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

Großen:

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

Dann können diese leicht durchgeführt werden! Vielen Dank. Ich wusste nicht, dass ich auf xco und yco indexieren könnte. Ich muss über SQL-Optimierungskram lesen. Um doppelt sicher zu sein, würde dies 50.000 Datensätze umfassen? – emotionull

+0

50 _thousand_ ist trivial; 50 _billion_ würde weitere Diskussion benötigen. –