In my live site currently we have 2.1M records in the
Due to this large number of records we are facing search slowness.
Whether it is advisable to truncate that table or remove the low priority search terms from that table?
I recommend that you clear out old entries rather than clear out lesser used terms. Because that way you are not skewing your statistics. You still want more recent lesser used terms as it still gives you an insight into popular/non-popular search terms on your website.
DELETE FROM search_query WHERE updated_at < DATE_SUB(CURDATE(), INTERVAL 2 YEAR)