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ą 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. );




--------------------
Kto rano wstaje ten leje jak z cebra.
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 19.08.2025 - 20:38