7.6 has addressed searching on large tables ( posts, topics ). any version from 7.5.6 and below will have terrible search performance and noted in 100s of posts prior.
the only solution for pre 7.6 is to do what you did by essentially adding more RAM, so the sort ( this is the real killer ) can be done in RAM vs on HDD.
the key is adding a new index which is the year 2038 MINUS the current date / time.. this forces a naturally REVERSED index and no sort is required.
that means that your RAM requirements will go from 24Gig to 8Gig (at most) for a board your size.
i already have tested this out on 2 boards of 3 and 4 mill posts ( rough figures ) to work..
note: i haven't added a post about it in the latest release notes, but consider it done already... just too much of a geeky post to really interest many...