1

我希望在提高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
4

2 回答 2

3

substring 函数可能会减慢您的查询速度。

像下面这样的东西会起作用吗?

time >= "20110101" 
and time < "20120101"
于 2012-08-01T16:48:05.177 回答
0

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

CREATE INDEX some_index ON SOME_DB_TABLE (TIME)

这将使对该列的搜索更快。
另外,你真的需要每一列吗?使用SELECT *

  • 一个坏习惯
  • 如果您采用不重要的列,则执行时间会很耗时
于 2012-08-01T16:38:49.563 回答