You can do this:
My_table.select ( My_table.column_names - ['column_5', 'column_8'] )
Pregunta
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
Solución
You can do this:
My_table.select ( My_table.column_names - ['column_5', 'column_8'] )
Otros consejos
Use pluck
Person.pluck(:id, :name)
# SELECT people.id, people.name FROM people
# => [[1, 'David'], [2, 'Jeremy'], [3, 'Jose']]