I've tested several keyword count from 2 millions record book description table that indexed with tseach2 indexing. The result is always slow for first query attempt.
This my sample query: -- test one phrase -- SELECT count(*) from table1 WHEREsearchvector @@ to_tsquery('default' ,'david') limit 100 :: returns 16824 records match. :: take 49618.341 ms (1st attempt) :: take 504.229 ms (2nd attempt) -- test two phrase -- SELECT count(*) from table1 WHERE searchvector @@ to_tsquery('default' ,'martha&stewart') limit 100 :: returns 155 records match. :: take 686.669 ms (1st attempt) :: take 40.282 ms (2nd attempt) I use ordinary aggregate function count(*), Is there other way to count faster? ---------------------------(end of broadcast)--------------------------- TIP 5: Have you checked our extensive FAQ? http://www.postgresql.org/docs/faq