gpt4 book ai didi

sql - 在 SQL Server 的分区表中搜索日期

转载 作者:行者123 更新时间:2023-12-02 03:32:23 25 4
gpt4 key购买 nike

在SQL Server 中对分区表进行查询时,是否需要做一些特别的事情?

我问的原因是因为我们有一个相当大的 SQL Server 表,该表按天按“datetime2(2)”列进行分区。

每一天都映射到它自己的文件组,该文件组中的一个文件被适当命名,例如 Logs_2014-09-15.ndf

如果我对该表进行查询,那么只跨越 2 天。我在 ResourceMonitor 中看到 SQL Server 正在访问超过 2 个日常 .ndf 文件。 (编辑,事实上我注意到它会搜索每一个。即使我从属于 partition1 的一天中选择)

根据我对分区表的理解,它应该只搜索它需要的适当数据/分区?

所以我的问题:

  1. 是这样吗?
  2. 我如何比较 DateTime2 列会影响查询吗?

    例如,我可以这样查询:

    select * from LogsTable
    where [date] like '2014-09-15'

    或者我可以这样做:

    select * from LogsTable
    where [date] = CAST('2014-09-15'AS DATETIME2)
  3. 分区函数是否会自动查看查询中的 [time] 元素,然后将 sql 发送到正确的分区?

最佳答案

你试过这个吗:

select * from LogsTable
where Dateadd(D, 0, Datediff(D, 0, [date])) = CAST('2014-09-15'AS DATETIME2)

关于sql - 在 SQL Server 的分区表中搜索日期,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25849219/

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