gpt4 book ai didi

sql - SQL查询的月份和年份的Where子句

转载 作者:行者123 更新时间:2023-11-29 12:23:56 25 4
gpt4 key购买 nike

我编写了一个带有 where 子句的 Sql 查询,将结果缩小为 start month start yearend month end year .请在下面找到带有 where 子句的部分(我的查询非常复杂,所以我不想提供所有详细信息):

SELECT *
FROM foo
WHERE (year, month) between (startYear, startMonth) and (endYear, endMonth);

请注意,我发现它非常容易理解并且非常有表现力。它的速度怎么样?有更快的选择吗?如果是这样,它们会是什么样子?

最佳答案

一般来说,当您编写 SQL 查询时,您不应该真正担心速度。成熟的SQL Server会为你选择合理的执行计划。所以你的查询可能没问题。不过,您可以检查一些事项:

  • 您可以检查您的 where 子句中的列是否有索引。
  • 如果有复合索引,那么您可以确保按照它们在索引定义中出现的相同顺序使用这些列。
  • 你可以确保使用search arguments在您的 WHERE 子句中。简而言之,这意味着在与列值进行比较之前不要对其进行计算。

如果这个速度对您来说不够好,那么您可以为您的查询调整索引。 IE。添加与您的 where 子句匹配的索引。某些 RDBMS 允许您按日期对表进行分区。有时您可以用一些简单的查询和临时表替换一个复杂的查询。

关于sql - SQL查询的月份和年份的Where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/52165261/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com