• Are you perhaps selecting columns you don't need? Or pulling back BLOB type data?

    5mm rows doesn't seem like a crazy number. Are you sure the server is properly sized?