|
1
4
这是正常现象。它不会使用索引,除非谓词有足够的选择性来保证它。 听起来绝大多数记录都不是空的,因此不必通过非聚集索引来查找这些记录,而是必须执行大量的书签查找和随机I/O来检索其余的列以返回,只需扫描整个聚集索引就可以更快、更高效。
你可以用
|
|
|
2
1
理解你的问题的关键可能在这句话中: 没有空值比空值多得多 . SQL服务器 (以及其他关系数据库)使用统计信息来确定它将使用什么查询计划。统计信息可能告诉数据库有很多日期为非空的行。所以也许 SQL服务器 认为使用一个索引是不值得的, 全表扫描 对于这个特定的查询,更好的计划是 不为空 条件。 我想提两件事:
|
|
|
malife89 · 将java中的字符串读取为正确的日期格式 1 年前 |
|
|
Jas Mahay · 使用日期和日历:需要社区帮助来提高工作表的效率 1 年前 |
|
|
ViSa · 如何从Pandas的列中提取日期? 1 年前 |
|
|
Wolfspirit · 你如何确定一个时间点是否在一个时间段内? 1 年前 |
|
Steven · Python的美国/纽约时间偏移显示-04:56 1 年前 |