2013-01-16 13 views
7

Buduję instrukcję SQL, która zawiera dane i zastanawiam się, czy przerwałbym maksymalną długość wyciągu w Oracle 10g.Jaka jest maksymalna długość wyciągu w Oracle

Oświadczenie powinno wynosić około 3 200 000 bajtów, nie można go podzielić i musi ono w całości podlegać analizie.

Zanim zainwestuję zbyt dużo czasu w tę stronę, zastanawiałem się, czy będę ograniczony przez wielkość tego stwierdzenia.

Używam programisty SQL, ale myślę, że jeśli serwer to potrafi, to może programista SQL.

+0

Co masz na myśli przez "prośbę"? Uruchomiłem skrypt o wielkości 20,1 MB (który zawiera wstawki.) Jeśli kod został uwzględniony w słowach kluczowych BEGIN/END, to SQLDeveloper został zawieszony. Jeśli polecenia były skryptopodobne, działa płynnie. –

+1

@FlorinGhita Mam na myśli tylko jedno stwierdzenie. Byłoby to MERGE ... USING, z klauzulą ​​USING złożoną z wielu SELECT, które miałyby być UNIONED. – BenoitParis

+0

Najgorszy przypadek, po prostu utwórz widok;) – Plouf

Odpowiedz

8

Nie ma ustalonej liczby. Zobacz "Ograniczenia logicznej bazy danych": http://docs.oracle.com/cd/B19306_01/server.102/b14237/limits003.htm

"Ograniczenie czasu trwania instrukcji SQL zależy od wielu czynników, w tym konfiguracji bazy danych, miejsca na dysku i pamięci".

Na użytkownika mogą również wpływać inne ograniczenia, takie jak maksymalne poziomy podkwerend.

Biorąc pod uwagę, że maksymalna długość procedur PL/SQL jest określona jako 2000-3000 linii, mam wrażenie, że możesz napotkać problemy z zapytaniem o wielkości 3 MB. Myślę też, że jeśli w ogóle zadziała, czas analizy będzie "interesujący".

Powiązane problemy