代码之家  ›  专栏  ›  技术社区  ›  Adam A

我可以使用SQL Server分区来优化全文搜索吗?

  •  0
  • Adam A  · 技术社区  · 17 年前

    我有一个非常大的表,有一个全文索引列。 如果我明智地划分这个表(对我来说,明智地按日期划分),它会加快查询速度吗? 或者,即使查询仅限于一个分区,全文子句仍然会搜索整个表吗?

    从我目前看到的情况来看,我认为答案是分区没有帮助。所以最好的选择是有价值的答案。 例如,为每个日期范围创建表,并通过执行[????]

    编辑:非常大的一行目前有450万行,但会随着时间的推移而快速增长(明天可能有2000万行,所以我想为此做计划)。在硬件方面,我很笨。我知道,当全文查询返回大量行时,查询速度会很慢,即使整个查询没有这样做。不确定这是否意味着它是计算绑定的或IO绑定的,或者它是否有足够的信息来告诉我们。

    2 回复  |  直到 17 年前
        1
  •  1
  •   gbn    17 年前

    我想不会的。

    全文索引驻留在单个全文目录中。

    这与基于日期范围将数据分区到数据文件组非常不同,使用视图和约束将查询定向到正确的分区。

    我的想法是确保您的全文目录和索引位于它们自己的LUN/磁盘集上。

        2
  •  0
  •   Brent Ozar    17 年前

    GBN是对的-没用。

    通常我的建议是避免更改模式来解决硬件问题。遵循FTS设置的最佳实践,您可以很好地进行扩展。如果你能弄清楚你所说的“非常大的桌子”是什么意思,以及它是什么样的硬件,我们可能会帮助你给出更好的答案。例如,在缓慢的RAID5中,它是一个2-CPU 16GB RAM设备上的100万行表,还是一个4-CPU 64GB设备上的1000万行表,在RAID10中是一个100驱动器SAN?

    推荐文章