Active record object for reuse

hI,

I have a fairly complex mysql query which span through ~500000 records
and multiple tables …which take almost 30 secs to run and generates
~5000 rows .

The query has been optimised.

Now … i want to do the foll with this

1> Paginate …I do not want to rerun the query with LIMIT/OFFET
clause etc. The object obtained in the first place.Can it be some how
stored and reused?

2>Sort on different combination of columns …here also I want to use
ruby and do all the functionality.

But how to save the active record object and reuse it .

Basically I want to avoid the 30 second delay for each query.

Cheers

Rajib

On May 14, 2:25 am, BENI [email protected] wrote:

1> Paginate …I do not want to rerun the query with LIMIT/OFFET
clause etc. The object obtained in the first place.Can it be some how
stored and reused?

2>Sort on different combination of columns …here also I want to use
ruby and do all the functionality.

  1. optimise it some more, use explain select …, make sure you
    understand what is going on. Maybe you can structure you data so that
    the query isn’t so complicated
  2. cache it (memcached etc…)

Fred

Also, that sounds like a very expensive query to leave in the hands of
indiscriminate users. It’s such a costly query it sounds like there
should be another way to do it. Any chance it’s a once-per-day type
job that you could off load to a background process or cron job?
Another possibility would be warehousing the data (e.g.,
ActiveWarehouse, if the project is still active) and supporting
queries only on data that has been warehoused.

On May 14, 4:21 am, Frederick C. [email protected]

This forum is not affiliated to the Ruby language, Ruby on Rails framework, nor any Ruby applications discussed here.

| Privacy Policy | Terms of Service | Remote Ruby Jobs