sybase: problem s order by ... DESC
Pavel Kolesnikov
k na les.cz
Čtvrtek Listopad 23 17:37:58 CET 2000
Dobry den,
prihodil se mi nasledujici problem:
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.
Opravdu je tomu u dotazu s "ORDER BY ... DESC" tak?
Pokud ano, jak tento problem resit?
Neprilis ciste metody, ktere me napadaji, jsou treba "odhadnout",
ze zaznamy, ktere me zajimaji, nejsou starsi nez xyz hodin, a tim
zmensit tridenou mnozinu.
Nebo krome posted ukladat a indexovat i rozdil v sekundach mezi
aktualnim datem a treba rokem 3000, takze mi pak postaci trideni
ASC :)
Oboji mi prijde trochu... zvlastni. Nevite prosim nahodou nekdo
o nejakem duchaplnejsim reseni?
Pouzivam linuxovou sybase 11.0, ale samozrejme by me zajimalo
i jestli timto neduhem trpi i jine databaze pripadne jak se to
resi jinde.
Omlouvam se, pokud jsem timto demonstroval zakladni neznalost :)
Diky
Pavel
Další informace o konferenci Test