提示增强以下简单SQL查询的性能

时间:2012-08-01 16:30:52

标签: sql performance sybase-ase

我希望获得有关增强SQL查询效果的帮助。查询非常简单,但执行需要相当长的时间,因此我想了解如何增强查询的一些提示:

  SELECT
    *
  FROM
    SOME_DB_TABLE
  WHERE
    SUBSTRING(TIME, 1, 8)
  BETWEEN
    "20110101" AND "20111231"
  AND
    CONDITION_COL = "C"
  GROUP BY
    TIME
  ORDER BY
    TIME ASC

2 个答案:

答案 0 :(得分:3)

子字符串函数可能会降低查询速度。

下面会有类似的工作吗?

time >= "20110101" 
and time < "20120101"

答案 1 :(得分:0)

您应该像这样索引时间列:

CREATE INDEX some_index ON SOME_DB_TABLE (TIME)

这样可以更快地搜索此列 另外,你真的需要每一列吗?使用SELECT *

  • 糟糕的习惯
  • 执行时间,如果你采取非重要的列
相关问题