带有order by的嵌套SQL-Query对索引来说非常慢

时间:2015-08-19 07:07:59

标签: sql sorting sql-order-by sqlanywhere

我遇到的问题是,如果我在sybase sql的任何地方对datetime列进行排序,那么sql查询会非常慢。例如,我有以下简单的陈述:

select * from documents order by createdatetime desc

在我们的应用程序中,如果用户对网格视图中的列进行排序,我们将生成外部sql语句。例如,如果他在updatedatetime列上升序或降序,则会生成以下语句:

  1. select s.* from (select * from documents order by createdatetime desc) s order by updatedatetime desc
  2. select s.* from (select * from documents order by createdatetime desc) s order by updatedatetime asc
  3. 在我们的数据库中,我们在createdatetimeupdatedatetime上有升序和降序索引,但只有一个排序很快。我们认识到以下行为:

    1. 如果我们首先创建升序索引,升序排序很快
    2. 如果我们首先创建降序的idnex,则降序排序很快
    3. 我看一下执行计划,sybase似乎采用正确的索引来执行。

      有人有想法吗?谢谢!

0 个答案:

没有答案