0

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

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

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

4

2 回答 2

1

我不认为它会。

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

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

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

于 2009-04-13T18:54:01.580 回答
0

GBN 是对的——它无济于事。

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

于 2009-04-14T12:49:06.567 回答