Creative Saplings

Instrukcja MERGE

16 grudnia, 2020
No Comments

8i | 9i | 10g | 11g | 12c | 13c | 18c | 19c | 21c | Różne | PL / SQL | SQL | RAC | WebLogic | Linux

Strona główna „Artykuły” 9i „Tutaj

Instrukcja MERGE została wprowadzona w Oracle 9i w celu warunkowego wstawienia lub aktualizacji w zależności od ich obecności, proces znany również jako „upsert”. Instrukcja MERGE redukuje skanowanie tabeli i może wykonywać operację równolegle, jeśli jest to wymagane.

  • Składnia
  • Wydajność

Powiązane artykuły.

  • Instrukcja MERGE
  • Instrukcja MERGE Udoskonalenia w Oracle Database 10g

Składnia

Rozważmy następujący przykład, w którym dane z tabeli HR_RECORDS są scalane w EMPLOYEES table.

Źródłem może być również zapytanie.

Wydajność

MERGE jest zoptymalizowana pod kątem łączenia zestawów danych, a nie pojedynczych wierszy, jak pokazano w poniższym przykładzie.

Utwórz następujące tabele testowe. Tabela źródłowa zawiera wszystkie wiersze z elementu ALL_OBJECTS, podczas gdy tabela docelowa zawiera około połowy wierszy.

Poniższy kod porównuje wydajność czterech operacji scalania. Pierwsza używa prostej instrukcji MERGE. Druga również używa instrukcji MERGE, ale w kolejności wiersz po wierszu. Trzeci wykonuje aktualizację i warunkowo wstawia wiersz, jeśli aktualizacja dotyka zerowych wierszy. Czwarty wstawia wiersz, a następnie przeprowadza aktualizację, jeśli wstawianie zakończy się niepowodzeniem i zduplikowaną wartością w przypadku wyjątku indeksu.

W wyniku pokazane jest proste MERGE instrukcja wielkości szybciej niż jego najbliższy rywal. Aktualizacja / wstawianie działa prawie dwa razy szybciej niż wstawianie / aktualizowanie, a nawet bardziej wyrównuje wyniki wiersz po wierszu MERGE.

Po prostu porównując aktualizację / wstawianie i oddzielnie metod wstawiania / aktualizowania, musimy pamiętać, że porównania będą się różnić w zależności od danych w tabeli. Jeśli większość danych nie będzie już obecna, podejście wstawiania / aktualizowania może być lepsze. Jeśli większość danych jest już obecna, podejście aktualizuj / wstaw prawdopodobnie będzie lepsze. Jeśli nie jesteś pewien, po prostu użyj funkcji merge, ponieważ jest bardziej przejrzysta.

Oprócz prostego MERGE instrukcji, która jest szybsza, ponieważ jest to instrukcja DML, może można je łatwo uruchomić równolegle, aby jeszcze bardziej poprawić wydajność, pod warunkiem, że serwer poradzi sobie z dodatkowym obciążeniem.

Aby uzyskać więcej informacji, zobacz:

  • Instrukcja MERGE
  • Udoskonalenia instrukcji MERGE w Oracle Database 10g
  • MERGE

Mam nadzieję, że to pomoże. Pozdrawiam Tim …

Powrót na górę

Articles
Previous Post

7 Tanie kempingi w Cape Cod, które pokochasz

Next Post

Tostones czy Maduros, którym jesteś?

Dodaj komentarz Anuluj pisanie odpowiedzi

Najnowsze wpisy

  • Najlepsze szkoły fotograficzne na świecie, 2020
  • Suwerenni obywatele zabierają na drogi swoją antyrządową filozofię
  • Przewodnik po kosztach naprawy sztukaterii
  • Muckrakers (Polski)
  • Precyzyjna onkologia

Archiwa

  • Luty 2021
  • Styczeń 2021
  • Grudzień 2020
  • Listopad 2020
  • Październik 2020
  • Wrzesień 2020
  • Deutsch
  • Nederlands
  • Svenska
  • Norsk
  • Dansk
  • Español
  • Français
  • Português
  • Italiano
  • Română
  • Polski
  • Čeština
  • Magyar
  • Suomi
  • 日本語
  • 한국어
Proudly powered by WordPress | Theme: Fmi by Forrss.