gpt4 book ai didi

sql-server - 如何优化SQL Server查询的where子句

转载 作者:行者123 更新时间:2023-12-02 00:35:04 26 4
gpt4 key购买 nike

员工

ID Name DOJ
------------------
1 A 2018-12-12
2 B 2018-11-12
......

查询:

SELECT NAME 
FROM Employee
WHERE YEAR(DOJ) = 2018

employee表数据量很大,如何优化?

最佳答案

您可以避免在 where 子句中使用

SELECT NAME 
FROM Employee e
WHERE DOJ >= '20180101' and DOJ <= '20181231';

因此,该查询将被称为 SARGable,它可以利用索引(如果已经存在)

对于您当前的查询,在 where 子句中使用任何函数,这将使查询不可搜索。因此,SQL 优化器无法在 DOJ 上使用索引,即使索引存在也是如此。

小建议总是使用 ANSI SQL 日期格式 YYYYMMDD

关于sql-server - 如何优化SQL Server查询的where子句,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50014756/

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