we\'re using SQL Server 2008 R2 Full-Text Search over a table with 2.6 million records. The search performance often is poor, it follows the commonly reported pattern: cold
I'd recommend you to dig a bit into SQL Server FTS internals. This will give you an idea how your query is executed and if this works for you, or not. I suggest to start from here: https://technet.microsoft.com/en-us/library/ms142505(v=sql.105).aspx and here: https://msdn.microsoft.com/ru-ru/library/cc721269.aspx. Internally FTS uses tables and indexes. With all their benefits and drawbacks. So, like any other table, if data of that internal table is not in Buffer Pool, SQL Server will read from disk to RAM. Once the data in the RAM, it will be read from the RAM.
Fulltext Search Improvements in SQL Server 2012:
We looked at the entire code base from how queries block while waiting an ongoing index update to release a shared schema lock, from how much memory is allocated during index fragment population, to how we could reorganize the query code base as a streaming Table Value Function to optimize for TOP N search queries, how we could maintain key distribution histograms to execute search on parallel threads, all the way to how we could take better advantage of the processor compute instructions (scoring ranks for example)… End result is that we are able to significantly boost performance (10X in many cases when it comes to concurrent index updates with large query workloads) and scale without having to change any storage structures or existing API surface. All our customers going from SQL 2008 / R2 to Denali will benefit with this improvement.