2017-07-15 5 views
0

Ich entschuldige mich, weil mein Hintergrund nicht in Datenbanken ist, aber ich musste ein Projekt von jemand anderem übernehmen.Der einfachste Weg, um die Liste der primären IDS einer Tabelle in einer anderen Tabelle zu speichern?

Wir haben eine Datenbank von etwa 10 Millionen Zeilen. Jede Zeile hat Variablen X1, X2, X2, die Werte zwischen 0 und 200 annehmen. Eine typische Suche, die wir ausführen müssen, gibt alle Zeilen zurück, wo X1 zwischen 10 und 30 liegt, X2 zwischen 30 und 40 ist und X3 zwischen 160 und 170 oder was auch immer.

Gerade jetzt ist das sehr langsam - und ich frage mich, ob es beschleunigt werden könnte, indem Sie alle Werte in einer einzigen Tabelle mit genau 200 * 200 * 200 Reihen setzen. Auf diese Weise könnten wir einen Primärschlüssel haben, um sofort zu suchen und dann den Primärschlüssel der Originalgegenstände zu erhalten.

Wie aber würden diese Werte gespeichert, damit sie für eine zusätzliche Abfrage verwendet werden können? Ich habe online gesucht, bin aber mit den Ressourcen, die ich bisher gefunden habe, verwechselt worden.

+0

Ich denke, ein konkreteres Beispiel könnte helfen. Siehe https://meta.stackoverflow.com/questions/333952/why-should-i-provide-an-mcve-for-what-seems-to-me-to-be-very-simple-sql-query . Oh und 10 Millionen Zeilen ist nicht groß, so dass ich mir die Freiheit der Bearbeitung dieser – Strawberry

Antwort

0

Zusätzliche Details würden helfen, aber Sie könnten beginnen, indem Sie eine einzelne Tabelle erstellen und einen eindeutigen Index für die Gruppe PK, X1, X2, X3 erstellen - wenn die Abfragen, die Sie ausführen möchten, immer X1, X2, X3 enthalten

+0

... oder x1, x2 oder nur x1 – Strawberry

+0

dann können Sie zusätzliche Indizes auf x1, x2 und x1 hinzufügen, die beide nicht eindeutige Indizes sein - Sie können testen, ob es die Ausführungszeit der Abfrage beeinflusst (die Indizes benötigen Speicherplatz, wenn sie nicht die Ausführungszeit sparen, gibt es keinen Sinn) – Danyv

+0

Nein. Ihr Index deckt diese drei Konfigurationen ab – Strawberry

Verwandte Themen