Moh*_*han -2 sql sql-server query-performance
我想在SQL中查询大型数据集 - 这是正确的方法吗?
declare @datetime Datetime
select *
from sales
where salesdate <= @datetme
Run Code Online (Sandbox Code Playgroud)
要么:
select *
from sales
where salesdate < (select GetDate())
Run Code Online (Sandbox Code Playgroud)
要么:
select *
from sales
where salesdate < GetDate()
Run Code Online (Sandbox Code Playgroud)
或者通过使用 NOW()
对于查询号中的变量,除了0%ASSIGN阶段之外,所有三个都将具有相同的执行计划.但是从长远来看,总是将变量初始化为DATETIME然后用于比较,这将是一个很好的做法.当您进行长时间的比较时,用户将习惯在变量中格式化日期时间并将列与这些变量进行比较.否则,它成为格式化SQL列的习惯,然后将其与日期一起进行映射.这会格式化每个数据行中的datetime字段以与值进行比较,并使日期时间比较变慢.
对于此特定查询,为了便于阅读和使用,您可以选择查询号.3 [从销售中选择*salesdate <GetDate()].
| 归档时间: |
|
| 查看次数: |
84 次 |
| 最近记录: |