I'm querying a table which has about 15 columns. I only need 13 of those columns. To make the query faster, is there a way to select all but those 2 columns I do not need? Something like:

My_table.select_all_but([:column_5, :column_8]).all
有帮助吗?

解决方案

You can do this:

My_table.select ( My_table.column_names - ['column_5', 'column_8'] )

其他提示

Use pluck

    Person.pluck(:id, :name)
    # SELECT people.id, people.name FROM people
    # => [[1, 'David'], [2, 'Jeremy'], [3, 'Jose']]
许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top