I've had similar experiences.
And it's not always Ruby processing being the slow part but returning multiple result sets to your application layer.
I've seen some huge result sets (thousands of rows) returned to do a simple aggregation for a dashboard widget.