I have a very large table with a fulltext indexed column. If I partition this table sensibly (for me, sensibly is by date), will it speed up queries? Or will the full text clause still search through the whole table, even if the query limits to a single partition?
From what I’ve seen so far, I think the answer is partitioning won’t help. So best alternatives are valued answers. E.g., create tables for each date range and maintain them easily by doing [???].
EDIT: Very large is currently 4.5 million rows, but will grow over time in spurts (it could be 20 million tomorrow, so I want to plan for that). In terms of hardware, I’m pretty clueless. I do know that the query is slow when the fulltext query returns a large number of rows, even if the query as a whole does not. Not sure if that means it’s compute bound or IO bound or if it’s even enough info to tell.
I don’t think it will.
The full text index resides on a single full text catalog.
This is very different to partitioning data based on a date range onto data filegroups, using views and constraints to direct queries to the correct partition.
My idea would be to make sure your full text catalog and index are on their own LUN/disk set.