Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> Znalezienie duplikatów klucza, Wydajne odszukanie duplikatów klucza
tvister
post
Post #1





Grupa: Zarejestrowani
Postów: 253
Pomógł: 29
Dołączył: 18.08.2008

Ostrzeżenie: (0%)
-----


Problem dotyczy zapytania, które wyszukuje duplikaty klucza względem identyfikatora technicznego.
Optymalizacja danych nie wchodzi w gre. Indeksy są założone na id i na kolumnach klucza.
Być może ktoś ma pomysł jak to obejść np. kilkoma operacjami ewentualnie zna jakąś magię oracle-ową (IMG:style_emoticons/default/smile.gif)
Poniżej prezentuje sposób ale dla kilkunastu kolumn należących do klucza jest niewydajny.
  1. SELECT ..... FROM table_name1 a WHERE EXISTS (
  2. SELECT count(1) FROM table_name2 b
  3. WHERE
  4. a.kolumna1 = b.kolumna1 OR (a.kolumna1 IS NULL AND b.kolumna1 IS NULL)
  5. AND
  6. a.kolumna2 = b.kolumna2 OR (a.kolumna2 IS NULL AND b.kolumna2 IS NULL)
  7. ...
  8. ..
  9. AND (a.id <> b.id)
  10. );


Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 5.10.2025 - 11:08