Oracle
 sql >> Baza danych >  >> RDS >> Oracle

Oracle ROWID jako parametr funkcji/procedury

Z przewodnika po koncepcji :

Główną wadą ROWID jest to, że chociaż jest zwykle stabilny, może się zmienić w pewnych okolicznościach:

  • Tabela została przebudowana (ALTER TABLE MOVE ...)
  • Eksportuj / importuj oczywiście
  • Tabela partycji z włączonym ruchem wierszy

Klucz podstawowy identyfikuje wiersz logicznie , zawsze znajdziesz właściwy wiersz, nawet po usunięciu + wstaw. ROWID identyfikuje wiersz fizycznie i nie jest tak trwały jak klucz podstawowy.

Możesz bezpiecznie użyć ROWID w pojedynczej instrukcji SQL, ponieważ Oracle zagwarantuje, że wynik będzie spójny, na przykład w celu usunięcia duplikatów w tabeli. Na wszelki wypadek sugeruję, abyś używał tylko ROWID wyrażeń krzyżowych gdy masz blokadę w rzędzie (WYBIERZ ... DO AKTUALIZACJI).

Z punktu widzenia wydajności dostęp do klucza podstawowego jest nieco droższy, ale zwykle zauważysz to tylko wtedy, gdy wykonujesz dużo dostępu do jednego wiersza. Jeśli jednak wydajność jest krytyczna, zwykle można uzyskać większe korzyści w takim przypadku z przetwarzania zestawu niż przetwarzania pojedynczego wiersza z rowid. W szczególności, jeśli istnieje wiele podróży w obie strony między bazą danych a aplikacją, koszt dostępu do wiersza będzie prawdopodobnie pomijalny w porównaniu z kosztem podróży w obie strony.




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. ORACLE - ORA-01843:niepoprawny miesiąc

  2. Odejmowanie dat Oracle

  3. Aktualizacja Oracle zawiesza się

  4. Jak zidentyfikować dni powszednie w Oracle?

  5. Oracle:jak pogrupować według zakresu?