Προς το περιεχόμενο

Προτεινόμενες αναρτήσεις

Δημοσ.

Εχω 4 πινακες, τους A,B,C,D. Πως μπορω να τους αναγκασω να κανουν join με bushy tree? Δηλαδη πρωτα να κανουν join οι A και B, C και D. Και μετα το αποτελεσμα αυτων να κανουν ενα τελευταιο join.

 

Απο default γινεται ενα deep left join, ετσι δεν ειναι?

Δημοσ.

with
subv1 as (select /*+ no_merge */ [COLUMN LIST] from A, B where [JOIN]),
subv2 as (select /*+ no_merge */ [COLUMN LIST] from C, D where [JOIN])
select s1.*, s2.*
from   subv1 s1, subv2 s2
where  [JOIN]
  • 1 μήνα μετά...
Δημοσ.

πως μπορω να δω ποιο isolation level ειναι ενεργο?

 

εχω ορισει serializable οπου υποτιθεται οτι δεν μπορει να γινει nonrepeatable read, αλλα δεν μου βγαινει σωστα :fear:

 

HT33ZfB.png

Δημοσ.

Κάτι λάθος κάνεις ... αρχικά άλλαξε το isolation level σε session επίπεδο για να ισχύει για όλα τα transaction στο εκάστοτε session

Session 1 
 
->alter session set isolation_level=serializable;
 
->query1
 
Session 2(σε αλλο παράθυρο)
 
-> insert into table;
-> commit;
 
Session1
 
->query1

στο σημείο αυτό δεν θα πρέπει να βλέπεις τις εγραφές που έκανε commit το αλλο session.

 

To δευτερο session δεν χρειάζεται να έχει διαφορετικό isolation level. Ας μείνει με το default.

Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε

Πρέπει να είστε μέλος για να αφήσετε σχόλιο

Δημιουργία λογαριασμού

Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!

Δημιουργία νέου λογαριασμού

Σύνδεση

Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.

Συνδεθείτε τώρα
  • Δημιουργία νέου...