sybase: problem s order by ... DESC (jeste delsi)

Karel Zak zakkr na zf.jcu.cz
Neděle Listopad 26 11:59:24 CET 2000


On 24 Nov 2000, Pavel Kolesnikov wrote:

> Jan Serak <sherry na pikebo.cz> wrote:
> 
> :> Mam aplikaci, ktera nad nemalou tabulkou casto provadi dotazy typu:
> :> 
> :>     SELECT * from TABLE WHERE b_id = xxx ORDER BY posted DESC
> :> 
> :> (b_id i posted jsou indexovany, posted obsahuje datetime, kdy byl
> :> dany zaznam vlozen do databaze).
> :> 
> :> Tyto dotazy obcas trvaji velmi velmi dlouho, a zjevne je to tim,
> :> ze se nepouziva index nad "posted" - showplan mi totiz tvrdi, ze
> :> nejprve dochazi k insertu do worktable, a az pote k selectu,
> :> narozdil od trideni "ASC", kde ukazuje, ze se rovnou vybira.
> 
> : a) pokud mate index nad b_id a jiny index nad posted, tak vzdy
> : pro pristup do tabulky lze pouzit nejvyse jeden jediny index.
> 
> Mozna jsem to zbytecne zkomplikoval. V one tabulce mam i dvojity
> index pres b_id a posted. Stejny problem ale pozoruji i pri prostem 
> 
> 	SELECT * FROM table ORDER BY posted DESC
> 
> kde je nad "posted" jednoduchy index.
> 
> Proste ocekaval bych, ze se ten index pri trizeni pouzije.
> 
> Pri listovani moudrymi knihami jsme tu nakonec narazili na stranku
> http://manuals.sybase.com:80/onlinebooks/group-as/srg1100e/sqlsrvpt/@Generic__BookTextView/7550;nh=1;pt=7550;lang=cs;uf=0?DwebQuery=desc&DwebSearchAll=1#X
> kde se pomerne nesmlouvave pravi:
> 
> 	"The use of desc in an order by clause, to get results in
> 	descending order, always requires a sort."
> 
> Prijde mi divne, ze by Sybase SQL server byl nejak mimoradne hloupy,
> takze chyba bude asi na me strane a skutecnost, ze ORDER BY DESC
> proste indexy nemuze pouzit je nejaky notoricky znamy a logicky
> zduvodnitelny fakt platny pro vetsinu SQL serveru - je tomu tak?

 Prectete si tu delsi "uvahu" co jsem psal o indexech a ORDER BY.

 - jde pouzit (nekdy) index u ORDER BY
 - jde index cist pozpatku
 - lze se vejit do WHERE a ORDER BY s jednim pouzitim indexu

 Mozna jen pouzivate spatny SQL server :-)

					Karel



Další informace o konferenci Test