ďťż
 
Sortowanie w PostgreSQL ďťż
 
Sortowanie w PostgreSQL
Zobacz wiadomości
 
Cytat
A gdyby tak się wedrzeć na umysłów górę, / Gdyby stanąć na ludzkich myśli piramidzie, / I przebić czołem przesądów chmurę, / I być najwyższą myślą wcieloną. . . Juliusz Słowacki, Kordian
Indeks BCB i MySQL subiekt gt fototapeta
 
  Witamy

Sortowanie w PostgreSQL



Artur - 17-06-2007 00:15
Sortowanie w PostgreSQL
  Witam!

Mam zapytanie:

EXPLAIN ANALYZE SELECT tfield FROM tws ORDER BY tfield;

Query Plan wyglada tak:

-------------------------------------------------------------------------------------------------------------------
Sort (cost=177824.04..181821.54 rows=159900 width=12) (actual
time=1991.637..2087.435 rows=159900 loops=1)
Sort Key: tfield
-> Seq Scan on tws (cost=0.00..39615.99 rows=159900 width=12) (actual
time=0.016..88.862 rows=159900 loops=1)
Total runtime: 2160.171 ms

-------------------------------------------------------------------------------------------------------------------

Pytanie jest co PostgreSQL robi od 88 do 1991 milisekundy? Wydaje mi sie ze
przed sortowaniem przygotowuje sobie jakies wewnetrzne struktury i nie jest
to wyszczegolnione na Query Plan, ale moze ktos ma jakis inny pomysl?

Wersja PostgreSQL to 8.2.4. Tabela tws posiada tylko pole tfield z typem
TEXT.





slawekj - 17-06-2007 00:15

  > Pytanie jest co PostgreSQL robi od 88 do 1991 milisekundy? Wydaje mi sie
> ze przed sortowaniem przygotowuje sobie jakies wewnetrzne struktury i nie
> jest to wyszczegolnione na Query Plan, ale moze ktos ma jakis inny pomysl?

Wg mnie serwer obs?u?y? w tym czasie inne dzia?aj?ce procesy.

pozdr.
S?awek




=?UTF-8?B?RmlsaXAgUmVtYmlhxYJrb3dza2k=?= - 17-06-2007 00:15

  Artur wrote at 2007-05-22 15:52:
> Witam!
>
> Mam zapytanie:
>
> EXPLAIN ANALYZE SELECT tfield FROM tws ORDER BY tfield;
>
> Query Plan wyglada tak:
>
>
> -------------------------------------------------------------------------------------------------------------------
> Sort (cost=177824.04..181821.54 rows=159900 width=12) (actual
> time=1991.637..2087.435 rows=159900 loops=1)
> Sort Key: tfield
> -> Seq Scan on tws (cost=0.00..39615.99 rows=159900 width=12) (actual
> time=0.016..88.862 rows=159900 loops=1)
> Total runtime: 2160.171 ms
>
> -------------------------------------------------------------------------------------------------------------------
>
>
> Pytanie jest co PostgreSQL robi od 88 do 1991 milisekundy?
sortuje :)
1991 to czas zwr??cenia pierwszego rekordu z posortowanego zbioru




Herakles - 17-06-2007 00:15

  Artur wrote:

> Witam!
>
> Mam zapytanie:
>
> EXPLAIN ANALYZE SELECT tfield FROM tws ORDER BY tfield;
>
> Query Plan wyglada tak:
>
>
> -------------------------------------------------------------------------------------------------------------------
> Sort (cost=177824.04..181821.54 rows=159900 width=12) (actual
> time=1991.637..2087.435 rows=159900 loops=1)
> Sort Key: tfield
> -> Seq Scan on tws (cost=0.00..39615.99 rows=159900 width=12) (actual
> time=0.016..88.862 rows=159900 loops=1)
> Total runtime: 2160.171 ms
>
> -------------------------------------------------------------------------------------------------------------------
>
>
> Pytanie jest co PostgreSQL robi od 88 do 1991 milisekundy? Wydaje mi sie
> ze przed sortowaniem przygotowuje sobie jakies wewnetrzne struktury i nie
> jest to wyszczegolnione na Query Plan, ale moze ktos ma jakis inny pomysl?
>
>
> Wersja PostgreSQL to 8.2.4. Tabela tws posiada tylko pole tfield z typem
> TEXT.
Czy ta tabela ma na tym tfield primary key?
Bo mi wygl?da na to, ?e nie!





Artur - 17-06-2007 00:15

 
>> Mam zapytanie:
>>
>> EXPLAIN ANALYZE SELECT tfield FROM tws ORDER BY tfield;
>>
>> Query Plan wyglada tak:
>>
>>
>> -------------------------------------------------------------------------------------------------------------------
>> Sort (cost=177824.04..181821.54 rows=159900 width=12) (actual
>> time=1991.637..2087.435 rows=159900 loops=1)
>> Sort Key: tfield
>> -> Seq Scan on tws (cost=0.00..39615.99 rows=159900 width=12)
>> (actual
>> time=0.016..88.862 rows=159900 loops=1)
>> Total runtime: 2160.171 ms
>>
>> -------------------------------------------------------------------------------------------------------------------
>>
>>
>> Pytanie jest co PostgreSQL robi od 88 do 1991 milisekundy? Wydaje mi sie
>> ze przed sortowaniem przygotowuje sobie jakies wewnetrzne struktury i nie
>> jest to wyszczegolnione na Query Plan, ale moze ktos ma jakis inny
>> pomysl?
>>
>>
>> Wersja PostgreSQL to 8.2.4. Tabela tws posiada tylko pole tfield z typem
>> TEXT.
> Czy ta tabela ma na tym tfield primary key?
> Bo mi wygl?da na to, ?e nie!

Doszlem juz powoli dlaczego to tak jest. Zdaje sie ze przedzial czasu
podawany przez Query Plan jest czasem od ktorego dostepny byl pierwszy
rekord do czasu do ktorego pobrano ostatni (prosze mnie poprawic jesli sie
myle) a nie czas od ktorego PostgreSQL rozpoczal sortowanie do czasu do
ktorego skonczyl.

Specjalnie w tym przykladzie na tej tabelce nie stworzylem zadnego indeksu,
tak by PostgreSQL posortowal dane nie korzystajac z indeksu. Gdyby tfield
byl primary key'em oczywiscie Query Plan wygladal by zupelnie inaczej :).

Artur




Herakles - 17-06-2007 00:15

  > Doszlem juz powoli dlaczego to tak jest. Zdaje sie ze przedzial czasu
> podawany przez Query Plan jest czasem od ktorego dostepny byl pierwszy
> rekord do czasu do ktorego pobrano ostatni (prosze mnie poprawic jesli sie
> myle) a nie czas od ktorego PostgreSQL rozpoczal sortowanie do czasu do
> ktorego skonczyl.
>
> Specjalnie w tym przykladzie na tej tabelce nie stworzylem zadnego
> indeksu, tak by PostgreSQL posortowal dane nie korzystajac z indeksu.
> Gdyby tfield byl primary key'em oczywiscie Query Plan wygladal by zupelnie
> inaczej :).
>
> Artur

Mi?ej lektury:
http://www.postgresql.org/docs/8.2/i...g-explain.html
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • effulla.pev.pl
  • comp
    [PostgreSQL] - jak =?ISO-8859-2?Q?zabezpieczy=E6_interesy_tw?==?ISO-8859-2?Q?=F3rcy_systemu_=3F=3F=3F?= postgresql - int/int postgresql Select count(*) czy raczej Select count(ID) [PostgreSQL] jak =?ISO-8859-2?Q?pobra=E6_warto=B6=E6_zwracan?==?ISO-8859-2?Q?=B1_przez_funkcj=EA=3F?= [postgresql] INSERT OR UPDATE - jak =?ISO-8859-2?Q?b=EAdzie_na?==?ISO-8859-2?Q?jlepiej=3F?= [postgresql] kilka =?ISO-8859-2?Q?rekord=F3w_subquery_jako_?==?ISO-8859-2?Q?string?= [PostgreSQL] Jak =?ISO-8859-2?Q?po=B3=B1czy=E6_funkcje_z_w?==?ISO-8859-2?Q?idokiem?= Postgres - replikcja master-master Dopasowanie do "najlepszego" dopasowania :) [ PostgreSQL] Problemy z =?ISO-8859-2?Q?instalacj=B1_PostgreSQL_na_syste?==?ISO-8859-2?Q?mach_Windows?=
  • zanotowane.pl
  • doc.pisz.pl
  • pdf.pisz.pl
  • lunadance.htw.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

    Valid HTML 4.01 Transitional

    Free website template provided by freeweblooks.com