=?ISO-8859-2?Q?=5BORACLE=2C_ORDER_BY=5D_Czy_indeksowane_?==?I SO-8859-2?Q?kolumny_przy=B6piesz=B1_sortowanie=3F?=
tukan - 11-05-2007 12:31
=?ISO-8859-2?Q?=5BORACLE=2C_ORDER_BY=5D_Czy_indeksowane_?==?I SO-8859-2?Q?kolumny_przy=B6piesz=B1_sortowanie=3F?=
Witam, koledzy w pracy chcą mnie przekonać że jeśli w klauzuli order by użyję kolumn które wchodzą w skład jakiegoś indeksu sortowanie odbędzie się szybciej.
Mi wydaje się sortowanie nie ma nic wspólnego z indeksami, nie mamy pewności ze odpowiedni indeks zostanie użyty a dodatkowo odbywa się ono na samym końcu zapytania w obrębie jakiegoś wewnętrznego bufora i to czy sortuję po kolumnach z indeksu czy nie jest raczej bez znaczenia. Nie widzę też dowodów na jakieś sensowne przyśpieszenie wykonując różne testowe zapytania. Proszę o opinię
Marcin 'goral' Goralski - 11-05-2007 12:31
=?ISO-8859-2?Q?Re=3A_=5BORACLE=2C_ORDER_BY=5D_Czy_inde?==?ISO-8859-2?Q?ksowane_kolumny_przy=B6piesz=B1_sortowanie=3F? =
tukan wrote: > Witam, koledzy w pracy chcą mnie przekonać że jeśli w klauzuli > order by użyję kolumn które wchodzą w skład jakiegoś indeksu sortowanie > odbędzie się szybciej.
IMHO, tylko jezeli do sortowania uzyte zostana _wszystkie_ kolumny tworzace index, w kolejnosci w jakies zostaly wrzucone w index, lub oczywiscie gdy index jest na pojedynczej kolumnie i sluzy ona do sortowania. Latwo przeprowadzic test :-)
Jesli zalezy Ci na szybkim otrzymaniu posortowanych wynikow, to index-organized table moze byc pomocne, choc ma swoje wady ...
goral
Lucyna Witkowska - 11-05-2007 12:31
tukan <kojderl_list@wupe.pl> napisał: > Witam, koledzy w pracy chcą mnie przekonać że jeśli w klauzuli > order by użyję kolumn które wchodzą w skład jakiegoś indeksu sortowanie > odbędzie się szybciej. > Mi wydaje się sortowanie nie ma nic wspólnego z indeksami, nie mamy > pewności ze odpowiedni indeks zostanie użyty a dodatkowo odbywa się ono > na samym końcu zapytania w obrębie jakiegoś wewnętrznego bufora i to czy > sortuję po kolumnach z indeksu czy nie jest raczej bez znaczenia. Nie > widzę też dowodów na jakieś sensowne przyśpieszenie wykonując różne > testowe zapytania.
Koledzy mają trochę racji - jeśli do wybierania wierszy z tabeli zostanie użyty indeks i kolejność kolumn w indeksie zgadza sie z kolejnością kolumn w klauzuli order by - to sortowanie zostanie pominięte. Bo wiersze zostaną juz pobrane w odpowiedniej kolejności.
Ale musi być spelniony jeszcze jeden warunek - SELECT musi wybierac kolumny z wartościami NOT NULL, bo tylko takie reprezentowane są w indeksie.
Pozdrowienia, LW
dap997 - 11-05-2007 12:31
=?ISO-8859-2?Q?Re=3A_=5BORACLE=2C_ORDER_BY=5D_Czy_inde?==?ISO-8859-2?Q?ksowane_kolumny_przy=B6piesz=B1_sortowanie=3F? = > Koledzy mają trochę racji > - jeśli do wybierania wierszy z tabeli zostanie użyty indeks > i kolejność kolumn w indeksie zgadza sie z kolejnością kolumn w klauzuli > order by - to sortowanie zostanie pominięte. > Bo wiersze zostaną juz pobrane w odpowiedniej kolejności. > > Ale musi być spelniony jeszcze jeden warunek - SELECT musi wybierac > kolumny z wartościami NOT NULL, bo tylko takie reprezentowane są w > indeksie. > > Pozdrowienia, > LW
W 10gR2 zadziałało nawet gdy 2 kolumna indexu była null-owalna. Bardzo fajne ;) dap
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
Wydajność baz danych w zależności od poziomu izolacji ANSI/ISO
Czy zna (obsługuje) ktoś program Iso Draw ?
MYSQL - kodowanie w ISO-PL
strona plus baza w iso do utf-8
Kodowanie: z iso na utf
Jak =?windows-1250?Q?pobra=E6_szacowan=B9_wielko=9C=E6_zbiory_wy nikowego_w_MS?==?windows-1250?Q?_SQL_2005=3F?=
Konwesja znaków w dump'ie bazy danych - ISO -> utf-8 -> ISO -> utf-8
InterSystems =?windows-1250?Q?Cach=E9_-_uzywal_ktos=3F?=
pytanie o zapytanie z having count = count z innej kolumny
[MySQL/PHP] Wyszukiwanie rekordu przez kolumnę wskazaną przez zmienną
zanotowane.pldoc.pisz.plpdf.pisz.pllatwa-kasiora.pev.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 |
|