tr3quart1sta Δημοσ. 10 Απριλίου 2014 Δημοσ. 10 Απριλίου 2014 Εχω 4 πινακες, τους A,B,C,D. Πως μπορω να τους αναγκασω να κανουν join με bushy tree? Δηλαδη πρωτα να κανουν join οι A και B, C και D. Και μετα το αποτελεσμα αυτων να κανουν ενα τελευταιο join. Απο default γινεται ενα deep left join, ετσι δεν ειναι?
Aztec Δημοσ. 10 Απριλίου 2014 Δημοσ. 10 Απριλίου 2014 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]
tr3quart1sta Δημοσ. 5 Ιουνίου 2014 Μέλος Δημοσ. 5 Ιουνίου 2014 πως μπορω να δω ποιο isolation level ειναι ενεργο? εχω ορισει serializable οπου υποτιθεται οτι δεν μπορει να γινει nonrepeatable read, αλλα δεν μου βγαινει σωστα
Aztec Δημοσ. 6 Ιουνίου 2014 Δημοσ. 6 Ιουνίου 2014 Κάτι λάθος κάνεις ... αρχικά άλλαξε το 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.
Προτεινόμενες αναρτήσεις
Δημιουργήστε ένα λογαριασμό ή συνδεθείτε για να σχολιάσετε
Πρέπει να είστε μέλος για να αφήσετε σχόλιο
Δημιουργία λογαριασμού
Εγγραφείτε με νέο λογαριασμό στην κοινότητα μας. Είναι πανεύκολο!
Δημιουργία νέου λογαριασμούΣύνδεση
Έχετε ήδη λογαριασμό; Συνδεθείτε εδώ.
Συνδεθείτε τώρα