2 Stimmen

Wie kann ich (schnell) IDs aus verschiedenen Tabellen zusammenstellen?

Ich habe drei denormalisierte Tabellen, die ich für bare Münze nehmen muss (die Daten stammen aus einer externen Quelle). Die drei Tabellen haben unterschiedliche Definitionen, aber sie beschreiben alle dasselbe Objekt aus unterschiedlichen Perspektiven.

   object1  A  B
   object2  A
   object3     B  C
   object4        C

Die einzige Gemeinsamkeit zwischen diesen Tabellen ist ihr Primärschlüssel. Ich kann die IDs mit SELECT UNION SELECT zusammenfassen, aber die Abfrage scheint relativ langsam zu sein, selbst wenn jede Tabelle ihr PK-Feld indiziert hat. Ich könnte eine Ansicht erstellen, um diese Abfrage zu abstrahieren, vw_object_ids, aber sie führt mit derselben Geschwindigkeit aus. Ich dachte, ich könnte einen Index hinzufügen, um die Ansicht zu materialisieren, aber in SQL Server 2005 können Sie Ansichten nicht mit UNIONs indizieren.

Was ich möchte, ist ein Master-Index von IDs mit den zugrunde liegenden Daten synchronisiert werden, die aktualisiert oder gelöscht werden können, wann immer. Ich schätze, ich könnte dies unbegrenzt mit einem verrückten Satz von Triggern zu erreichen oder nur für die Geschwindigkeit der unindizierten Ansicht zu begleichen. Aber ich wollte nur sicherstellen, dass ich keine Optionen übersehe oder ob dieses Szenario einen Namen hat oder auf ein Muster hinweist.

Was denken Sie?

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X