Pytanie będzie dotyczyło dwóch zapytań mających zwrócić teoretycznie ( ͡° ͜ʖ ͡°) taki sam wynik. Chodzi o to, które będzie bardziej wydajne, czyli które szybciej się wykona.

Załóżmy, że mamy zapytanie A, w skład którego wchodzi podzapytanie B oraz to zapytanie A czerpie jeszcze dane z jakiejś tabeli, nazwijmy ją C

Wersja 1:
Po klauzuli FROM zapytania głównego (A) wstawiamy podzapytanie B, które następnie łączymy JOINEM z tabelą C na podstawie jakiś identyfikator id
  • 20
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@TomaszWKS: Tak na szybko:
1) Po co ci DISTINCT jeśli masz GROUP BY?
2) Czy GROUP BY jest poprawny? Grupujesz tylko po jednej kolumnie a nie wiem jak sobie radzi Oracle z functional dependencies (jeśli działa to jest poprawny to nie MySQL)
3) Czy Oracle przekształca AND UPPER(p.polistatus) NOT IN 'Z' do p.polistatus NOT IN ('z','Z')?

Poza tym to wszystko zależy od wróżek i fazy księżyca ale generalnie
  • Odpowiedz
@plushy: Masz rację, pierwsze wykonuje się jako index only scan, drugie jako index scan.

nadal pozostaje kwestia dobrych praktyk

W tym całkowicie się zgadzam, jeśli nie potrzebujemy funkcjonalności pomijania NULLi to zawsze powinno się używać 1 lub * (zależnie co jest już używane w projekcie).
  • Odpowiedz
Mirki mam tabelę A i tabelę B, interesuje mnie taki join, aby stworzyć tzw. master view i dopełnić go null'ami.

O co chodzi:

tabela A{linia,qty,data}{"l1,5,2015-09-21", "l3,2,2015-09-21"}
tabela B{linia}{l1,l2,l3,l4,l5,l6}
  • 2
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Dobra jestem idiotą, nie rozumiem dlaczego uparłem się żeby selectować z A zamiast B. LEFT OUTER JOIN'a próbowałem ale chyba na odwrót... Dzięki! ;)
  • Odpowiedz
@relik39: Sugerują spłaszczenie widoku (subquery flattening), które i tak by mogło nastąpić.

Widok zawsze jest traktowany jako zapytanie go generujące (mniej więcej).
Hinty mają na celu zmiejszenie liczby potencjalnych planów.
  • Odpowiedz
@plushy: ok, już doczytałem o co w tym chodzi, po prostu operując na samej nazwie widoku, bez jawnego podawania generującego go zapytania nie było dla mnie na pierwszy rzut oka oczywiste co się dzieje w tej transformacji. Thx za wskazówki.
  • Odpowiedz

Witojcie mireczki, właśnie wróciłem z pracy, jako że jestem poza granicami naszego kraju to jest jeszcze wcześnie :)
właśnie pije piwko ( bo przecież przy piwie lepiej się programuje/uczy :) )
A teraz przechodząc do sedna sprawy,
we wrześniu mam poprawkę z Baz danych,
mianowicie wygląda to tak, że przed egzaminem poprawkowym muszę zaliczyć projekt,
  • 7
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

Czy zmiana wyniku skomplikowanego zapytania sql po włączeniu constrainta not null na kolumnie(oczywiście bez dodawania/usuwania rekordów) może być wytłumaczalna w jakikolwiek sposób ( poza błędem silnika BD )?

#oracle
#sql
  • 5
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@bred_one: kiedyś robiłem taki projekt apka w Javie + oracle ale bez żadnego RESTa i tam całe API było za pomocą procedur tak, że apka w ogóle nie miała dostępu do tabel. Często się tam kursory przewijały, ale zwykle do jakiegoś prostego przeformatowania wyniku.
  • Odpowiedz
@MackONE_ nie znam nikogo, kto nauczyłby się programować z książek. Znając życie to nawet przez nią nie przerbniesz, albo będziesz czytał na odwal się. Moja rada:
1. Wybierz sobie o jakich bazach chciałbyś się uczyć (MySQL, Oracle, PosteSQL, Microsoft)
2. Jeśli jesteś studentem i masz konto na msdnaa to ściągaj klienta SQL Server - moim zdaniem najlepszy dla nowicjuszy
3. Przeglądaj kursy, czytaj msdn.microsoft.com, obczaj blogi (sqlservercentral najlepszy. Jest tam wszystko
  • Odpowiedz
Witam i o zdrowie pytam :D.

Jako że mam teraz trochę wolnego czasu chciałbym zdobyć trochę wiedzy z dziedziny baz danych. Zarówno teoretycznych zagadnień jak i praktycznych.

Było by fajnie jakby padły propozycje jakiś książek, kursów, video-kursów czy stron internetowych.

Pytanie
  • 15
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach

@MackOne_ Same bazy może nie tyle, ale już znajomość narzędzi (jakieś ETL, raporty) plus dobra znajomość SQL i jesteś w stanie spokojnie znaleźć robotę jako Developer SQL czy coś w tym stylu.
  • Odpowiedz
czesc, pytanie do uzytkownikow #oracle business intelligence. czy w tym narzędziu jest gdzies opcja wprowadzania danych do tabeli "na miejscu" ze tak powiem? chodzi mi szybką edycję, czy dodanie jakiejs danej. slyszalem ze jest cos takiego, ale za cholere nie moge znalezc. #bazydanych
  • 6
  • Odpowiedz
  • Otrzymuj powiadomienia
    o nowych komentarzach