[ruby-it] Alleggerire estrazione dati da tabella
Daneel Olivaw
daneel.olivaw.r a gmail.com
Mer 7 Ott 2009 12:39:09 CEST
Pietro Giorgianni wrote:
> dovresti cercare di fare meno query. se stai usando mysql potresti fare
> cos�:
@user = User.find_by_sql ["select *, (select count(*) from objects
> where objects.user_id = users.id and caratt1=?) as car1, (select
> count(*) from objects where objects.user_id = users.id and caratt2=?)
> as car2) from users", '1', '1']
Provato e funziona: sono sui 9 secondi per generare la pagina.
Ah, c'è un errore dopo "car2" (che poi sarebbe lafine dell'ultimo
conteggio e passaggio alla variabile) non ci va la parentesi :-)
> poi puoi scrivere:
>
> <% for user in @user %>
> <%= user.login %>
> <%= user['car1'] %>
> <%= user['car2'] %>
> <% end %>
Curiosità: dovendo anche generare i totali delle varie caratteristiche,
io ho una cosa del genere:
<% for user in @user %>
<%= user.login %>
<%= user['car1'] %>
<% car1tot += user['car1'].to_i %>
<%= user['car2'] %>
<% car2tot += user['car2'].to_i %>
<% end %>
...
Ho dovuto aggiungere il "to_i" perché il dato così com'è è visto come
stringa... è normale?
--
Posted via http://www.ruby-forum.com/.
More information about the Ml
mailing list