[oracle] 2 pytania
lll@lll.pl - 13-11-2006 00:44
[oracle] 2 pytania
Witam, Mam 2 pytania, na kotre mam nadzieje udzielicie mi odpowiedzi.
1. Jak mozna zrobic cos takiego w oracle: [dziala w myslq] SELECT SUM(b) as SUMA, SUMA + 10 FROM tabela
Chodzi mi o to by za kazdym razem nie obliczac SUMy b, tylko podstawic wyliczona wartosc.
2. Jak ma wygladac funkcja/procedura, ktora zwraca wiecej niz 1 wynik?
Pozdrawiam, L.
dap - 13-11-2006 00:44
lll@lll.pl wrote: > Witam, > Mam 2 pytania, na kotre mam nadzieje udzielicie mi odpowiedzi. > > 1. Jak mozna zrobic cos takiego w oracle: > [dziala w myslq] > SELECT SUM(b) as SUMA, SUMA + 10 FROM tabela > > Chodzi mi o to by za kazdym razem nie obliczac SUMy b, tylko podstawic > wyliczona wartosc.
Wydaje mi sie, ze taki zapis nie bedzie duzo wolniejszy, masz jakis przyklady? SELECT SUM(b) as SUMA, SUM(b) + 10 FROM tabela ;
> 2. Jak ma wygladac funkcja/procedura, ktora zwraca wiecej niz 1 wynik?
Funkcja z natury zwraca jedna wartosc. W przypadku procedury mozna uzywc parameteru out i np. ref cursor.
-- ,= ,-_-. =. gnu.org ((_/)o o(\_)) polanski.biz `-'(. .)`-' xoops.pl \_/
lll@lll.pl - 13-11-2006 00:44
> > Wydaje mi sie, ze taki zapis nie bedzie duzo wolniejszy, masz jakis > przyklady? > SELECT SUM(b) as SUMA, SUM(b) + 10 FROM tabela ; >
hmm mnie sie wlasnie wydaje ze bedzie szybciej, gdyz nie musi odnowa robic sume
> > Funkcja z natury zwraca jedna wartosc.
no racja
>W przypadku procedury mozna uzywc > parameteru out i np. ref cursor.
hmm mozesz podac mi jakis przyklad?
L.
genuine - 13-11-2006 00:44
> > hmm mozesz podac mi jakis przyklad? > > L.
www.oracle.com tam reference i masz multum przykladow
Michał Kuratczyk - 13-11-2006 00:44
lll@lll.pl wrote: > hmm mnie sie wlasnie wydaje ze bedzie szybciej, gdyz nie musi odnowa > robic sume Zamiast gdybać, to prościej sprawdzić:
SQL> set timing on SQL> select sum(object_id) from all_objects;
SUM(OBJECT_ID) -------------- 953165639
Elapsed: 00:00:01.01
SQL> select sum(object_id), 2 sum(object_id), sum(object_id), 3 sum(object_id), sum(object_id), 4 sum(object_id), sum(object_id), 5 sum(object_id), sum(object_id), 6 sum(object_id), sum(object_id), 7 sum(object_id), sum(object_id), 8 sum(object_id), sum(object_id), 9 sum(object_id), sum(object_id), 10 sum(object_id), sum(object_id), 11 sum(object_id), sum(object_id) 12 from all_objects;
...........
Elapsed: 00:00:01.03
Różnica jest przypadkowa (powtórz kilka razy, to czasem będzie nawet szybciej). Także nie masz się czym martwić.
-- Michał Kuratczyk
lll - 13-11-2006 00:44
> SQL> set timing on > SQL> select sum(object_id) from all_objects; > > SUM(OBJECT_ID) > -------------- > 953165639 > > Elapsed: 00:00:01.01 > > SQL> select sum(object_id), > 2 sum(object_id), sum(object_id), > 3 sum(object_id), sum(object_id), > 4 sum(object_id), sum(object_id), > 5 sum(object_id), sum(object_id), > 6 sum(object_id), sum(object_id), > 7 sum(object_id), sum(object_id), > 8 sum(object_id), sum(object_id), > 9 sum(object_id), sum(object_id), > 10 sum(object_id), sum(object_id), > 11 sum(object_id), sum(object_id) > 12 from all_objects; > > .......... > > Elapsed: 00:00:01.03 > > Różnica jest przypadkowa (powtórz kilka razy, to czasem > będzie nawet szybciej). Także nie masz się czym martwić. >
no prosze, zaskoczyl mnie ten wynik, dzieki
L.
Michał Kuratczyk - 13-11-2006 00:44
lll wrote: > no prosze, zaskoczyl mnie ten wynik, dzieki A mnie nie. :-> Jakbym pisał RDBMSa, to byłaby to jedna z pierwszych optymalizacji, o których bym pomyślał. :-)
-- Michał Kuratczyk
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Oracle, SQL, PL/SQL. Jak =?ISO-8859-2?Q?napisa=E6_zapytanie=2C?==?ISO-8859-2?Q?_kt=F3re_zwr=F3ci_nazw=EA_atrybutu=2C_kt=F3reg o?==?ISO-8859-2?Q?_warto=B6ci_spe=B3niaj=B1_zadany_warunek?=
Oracle 19g +Insert +Insert +Insert...
[oracle] zapytanie dynamiczne z =?ISO-8859-2?Q?=22dynamiczn=B1_?==?ISO-8859-2?Q?nazw=B1_tabeli=22?=
[Oracle] jak =?ISO-8859-2?Q?ograniczy=E6_pami=EA=E6_dla_se?==?ISO-8859-2?Q?rwera=3F?=
=?ISO-8859-2?Q?=5BOT=5D_Zdany_egzamin_Oracle_1Z0-007_a?==?ISO-8859-2?Q?_brak_informacji_na_stronie_Prometric_-_czy?==?ISO-8859-2?Q?_co=B6_nie_tak=3F?=
[oracle] czy da =?ISO-8859-2?Q?si=EA_z_poziomu_procedury_?==?ISO-8859-2?Q?zrobi=E6_kopi=EA_zapasow=B1=3F?=
[oracle 10g] czy =?ISO-8859-2?Q?mo=BFna_wy=B3=B1czy=E6_wszys?==?ISO-8859-2?Q?tkie_wi=EAzy_w_schemacie=3F?=
MSSQL Express czy Oracle Express
=?iso-8859-2?q?[oracle]_Jak_sprawdzi=E6_wielko=B6=E6_tabeli_=3F=3F?=
=?ISO-8859-2?Q?Poszukjue_ksi=B1=BFki_"Oracle_?= =?ISO-8859-2?Q?optymalizacja_wydajno=B6ci"..?=
zanotowane.pldoc.pisz.plpdf.pisz.planette.xlx.pl
Cytat
Decede mihi sole - nie zasłaniaj mi słonca. Gdy kogoś kochasz, jesteś jak stworzyciel świata - na cokolwiek spojrzysz, nabiera to kształtu, wypełnia się barwą, światłem. Powietrze przytula się do ciebie, choćby był mróz, a ty masz w sobie tyle radości, że musisz ją rozdawać wokoło, bo się w tobie nie mieści Hoc fac - tak czyń. A tergo - od tyłu; z tyłu. I czarne włosy posiwieją. Safona |
|