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

时间:2009-04-13 16:00:35

标签: sql-server-2005 optimization full-text-search partitioning

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

从目前为止我所看到的,我认为答案是分区无济于事。所以最好的选择是有价值的答案 例如,为每个日期范围创建表格并通过[???]轻松维护它们。

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

2 个答案:

答案 0 :(得分:1)

我认为不会。

全文索引位于单个全文目录中。

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

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

答案 1 :(得分:0)

GBN是对的 - 它无济于事。

通常我的建议是避免更改架构以解决硬件问题。遵循FTS设置的最佳实践,您可以很好地扩展。如果您可以通过“非常大的表格”阐明您的意思以及它是什么类型的硬件,我们可能会帮助您提供更好的答案。例如,它是一个2-cpu 16gb ram盒子上的100万行表,在慢速raid 5中有6个驱动器,或者是在4-cpu 64gb盒子上的1000万行表,在RAID中有100个驱动器SAN 10?