我遇到的问题是,如果我在sybase sql的任何地方对datetime列进行排序,那么sql查询会非常慢。例如,我有以下简单的陈述:
select * from documents order by createdatetime desc
在我们的应用程序中,如果用户对网格视图中的列进行排序,我们将生成外部sql语句。例如,如果他在updatedatetime
列上升序或降序,则会生成以下语句:
select s.* from (select * from documents order by createdatetime desc) s order by updatedatetime desc
select s.* from (select * from documents order by createdatetime desc) s order by updatedatetime asc
在我们的数据库中,我们在createdatetime
和updatedatetime
上有升序和降序索引,但只有一个排序很快。我们认识到以下行为:
我看一下执行计划,sybase似乎采用正确的索引来执行。
有人有想法吗?谢谢!