Frage

will nur, dass die Datenbankpartition überprüfen, nur auf Datenbankebene implementiert wird, wenn wir eine partitionierten Tabelle abfragen, wir immer noch unsere normale Abfrage, nichts Besonderes mit unseren Anfragen wird die Optimierung automatisch durchgeführt, wenn die Abfrage Parsen, ist, dass correct?

z. wir haben eine Tabelle ‚Adresse‘ mit einer Spalte namens ‚country_code‘ und ‚Stadt‘ genannt. also, wenn ich alle Adressen in New York erhalten möchten, USA, normalerweise gewickelt ich etwas tun, wie folgt:

select * from address where country_code = 'US' and city = 'New York'

Wenn nun die Tabelle ‚country_code‘ unterteilt ist, und ich weiß, dass jetzt die Abfrage nur auf der Partition ausgeführt werden, die country_code = US enthält. Meine Frage ist, ich ausdrücklich die Partition Abfrage in meiner SQL-Anweisung angeben tun müssen? oder i noch die vorherige Anweisung und der db-Server optimiert automatisch?

Vielen Dank im Voraus!

War es hilfreich?

Lösung

Die Aufteilung ist transparent für alle Fragen Sie schreiben. Es besteht keine Notwendigkeit, was Partition Abfrage angeben.

Die Datenbank verwendet nur die Partitionen zu optimieren unterhalb dementsprechend und idealerweise die Menge an Daten oder Indizes reduziert es durch suchen muss, basierend auf Sie, wo Klausel.

Andere Tipps

Jarods Antwort ist richtig und Antworten vollständig die Frage, aber ich denke, es ist ein wichtiger Teil fehlt.

Wenn Ihre Abfrage enthält keine Filterbedingung auf der Partition Spalte, sind Sie wahrscheinlich schlechte Leistung zu sehen, als würden Sie auf einer nicht partitionierten Tabelle mit der gleichen Größe.

Wenn Sie Ihre Abfrage nur Filter auf Stadt geändert, es wird nicht nur die US-Partition verwendet und wird schlechter ab als eine Abfrage für das gleiche noch nicht partitionierten Tabelle.

Der einzige andere Ort, an dem kann Partitionieren Hilfe Abfragen ist, wenn sie mit dem gleichen Partition Schlüssel zu einer partitionierten Tabelle verbinden. Oft, die leicht parallelisieren kann mitmachen. Unter der Annahme, das ist nicht das, was du tust.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top