[pgsql] index bitowy?
c_b - 13-11-2006 00:44
[pgsql] index bitowy?
Witam czy jest mozliwosc aby zapytanie typu select * from tabela where (id & 1)=1; uzywalo indexu zalozonego na id? w tej chwili id jest typu integer, a index btree, ale moze jakis inny typ indexu albo danych?
pozdr c_b
Artur Muszynski - 13-11-2006 00:44
c_b wrote: > Witam > czy jest mozliwosc aby zapytanie typu > select * from tabela where (id & 1)=1; > uzywalo indexu zalozonego na id? > w tej chwili id jest typu integer, a index btree, ale moze jakis inny > typ indexu albo danych?
Poczytaj sobie "Indexes on Expressions" i "Partial Indexes" w manualu. Twoje wyrażenie w ogólności nie bardzo się nadaje na indeks, skuteczniejsze rozwiązanie to przechowywanie w osobnej tabeli pasujących id.
artur
c_b - 13-11-2006 00:44
Artur Muszynski napisał(a): > c_b wrote: >> Witam >> czy jest mozliwosc aby zapytanie typu >> select * from tabela where (id & 1)=1; >> uzywalo indexu zalozonego na id? >> w tej chwili id jest typu integer, a index btree, ale moze jakis inny >> typ indexu albo danych? > > Poczytaj sobie "Indexes on Expressions" i "Partial Indexes" w manualu. > Twoje wyrażenie w ogólności nie bardzo się nadaje na indeks, > skuteczniejsze rozwiązanie to przechowywanie w osobnej tabeli pasujących > id. > > artur > A moze jakis inny sposob pobierania danych z ustawionym zadanym bitem?
Artur Muszynski - 13-11-2006 00:44
c_b wrote: >> Poczytaj sobie "Indexes on Expressions" i "Partial Indexes" w >> manualu. Twoje wyrażenie w ogólności nie bardzo się nadaje na indeks, >> skuteczniejsze rozwiązanie to przechowywanie w osobnej tabeli >> pasujących id. > A moze jakis inny sposob pobierania danych z ustawionym zadanym bitem?
Ale przeczytałeś zadaną lekturę, czy tak sobie chcesz pogadać? Co do tej osobnej tabeli, może napisałem zbyt ogólnikowo - dodawaj pasujące id np z pomocą triggera, a potem złączaj z główną tabelą przez INNER JOIN. Jeżeli rekordów spełniających warunek jest mało (np status zatwierdzony/tymczasowy), to wtedy operacja ma sens. Jeżeli rozłożenie statystyczne 0 i 1 jest podobne, to nic sensownego nie da się zrobić (żadnym sposobem).
artur
zanotowane.pldoc.pisz.plpdf.pisz.pleffulla.pev.pl
|
=?ISO-8859-2?Q?Narz=EAdzie_do_budowania_zapyta=F1_SQL=2C?==?I SO-8859-2?Q?_PL/PgSQL=2C_PL/SQL=2C_T-SQL?=
[pgsql] Akcja w =?iso-8859-2?b?emFsZb9ub7ZjaQ==?= od liczby zmienionych =?iso-8859-1?q?rekord=F3w?=
[sql][pgsql] zapytanie sql
[pgsql] Wykonanie triggera po =?ISO-8859-2?Q?zako=F1czeniu_tra?==?ISO-8859-2?Q?nsakcji?=
[pgsql] =?ISO-8859-2?Q?Prawid=B3owe_post=EApowanie_w_przyp?==?ISO-8859-2?Q?adku_awarii?=
[PGSQL] Funkcje =?ISO-8859-2?Q?zwracaj=B1ce_=27rowset=27_i_?==?ISO-8859-2?Q?tabele_tymczasowe?=
[pgsql] 7.4 =?ISO-8859-2?Q?og=B3upia=B3_przy_zak=B3adaniu_?==?ISO-8859-2?Q?indeksu?=
[pgsql] Zmiana schematu do =?ISO-8859-2?Q?kt=F3rego_nalezy_o?==?ISO-8859-2?Q?biekt=2E?=
Która z baz: [PGSQL] czy [MySQL] będzie lepsza w takim zastosowaniu (masowe UPDATE)
PL/pgSQL jak =?ISO-8859-2?Q?u=BFy=E6_transakcji=2E?=
zanotowane.pldoc.pisz.plpdf.pisz.plautwywalczyl.opx.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 |
|