2016-10-20 1 views
0

Ich habe eine Anwendung in Spring-Boot geschrieben, wir haben mit der Optimierung der Abfragen getan. Wir denken über eine Partitionierung der Datenbank (Oracle-Datenbank) nach Datum nach. Müssen wir irgendwelche Änderungen in unserer Spring-Boot-Anwendung vornehmen oder das Orakel wird die Dinge automatisch behandeln.benötigt die Datenbankpartitionierung Änderungen im Anwendungscode?

Antwort

2

Nein, es ist nicht erfordert Änderungen an der Anwendung.

Allerdings Partitionierung ist nicht die magische "alles schneller gehen" Schalter.

Um Partitionierung Arbeit richtig als Performance-Verbesserung, Ihre Anfragen haben, um die Partitionierungsschlüssel in ihrer where Klausel enthalten - sonst Partitionierung könnte sogar Dinge langsamer machen.

Wenn also Abfragen bereits den Partitionierungsschlüssel enthalten, müssen Sie nichts ändern.

Wenn die Abfragen den Partitionierungsschlüssel nicht enthalten, müssen Sie sie zu allen Abfragen hinzufügen, die für Leistungszwecke die Partitionsbereinigung verwenden sollten.

+0

Eigentlich müssen die Prädikate * nicht * auf dem Partitionsschlüssel stehen; Sie werden beschnitten, wenn Sie dem Partitionsschlüssel beitreten. Wenn Sie beispielsweise eine FACT-Tabelle mit einer Partition nach Datum haben und über eine Datumsdimensionstabelle verfügen, die in der Datumsspalte verknüpft ist, haben Sie in der Regel in der Datumsdimensionstabelle Vergleichselemente. Dies würde dann einen Bloom-Filter erzeugen, der zum Fact-Tisch geschoben wird und die Partitionen beschneidet. – BobC

Verwandte Themen