If you limit the results to let's say 200, is it still slow like you mentoined?
The request is indeed taking a great amount of time before it's presented..
If the database doesn't have any issues presenting the results this looks like a CI problem to me as well.