OK, I think I can see what is happening.  I'm trying to display 10
rows of reader_device records.  The log is shown below.  The thing to
look at is the line that says "Delivery Load".  That is a select of
the actual records associated with these particular 10
reader_devices.  In this particular instance, that is over 17,000
records.  It's not selecting count(*) or anything, but actually
retrieving all 17000 records even though it's not going to display
them.  I imagine it must be sorting them out in ruby.  It seems to me
that it should be doing 10 calls to select count(*) from [delivery]
where reader_device = 2375 etc.

This seems like a pretty big flaw.  Somebody must have a workaround
for this.

Mike Vargo

Processing ReaderDevicesController#index (for 127.0.0.1 at 2009-07-21
14:15:25) [GET]
  User Load (0.7ms)   SELECT * FROM [user] WHERE ([user].[id] = 3)
  SQL (3.3ms)   SELECT count(DISTINCT [reader_device].id) AS count_all
FROM [reader_device] LEFT OUTER JOIN [build_target] ON
[build_target].id = [reader_device].build_target_id LEFT OUTER JOIN
[subscriber] ON [subscriber].id = [reader_device].subscriber_id LEFT
OUTER JOIN [delivery] ON delivery.reader_device_id = reader_device.id
  SQL (0.6ms)   SELECT count(*) as TotalRows from (SELECT TOP
1000000000 [reader_device].* FROM [reader_device] ORDER BY
reader_device.[id] ASC) tally
  ReaderDevice Load (1.1ms)   SELECT * FROM (SELECT TOP 10 * FROM
(SELECT TOP 50 [reader_device].* FROM [reader_device] ORDER BY
reader_device.[id] ASC) AS tmp1 ORDER BY id DESC) AS tmp2 ORDER BY id
ASC
  BuildTarget Load (0.7ms)   SELECT * FROM [build_target] WHERE
([build_target].[id] = 4)
  Subscriber Load (0.8ms)   SELECT * FROM [subscriber] WHERE
([subscriber].[id] IN
(2376,2377,2378,2380,2379,2381,2382,2383,2384,2375))
  Delivery Load (5.3ms)   SELECT [delivery].* FROM [delivery] WHERE
([delivery].reader_device_id IN
(2375,2376,2377,2378,2379,2380,2381,2382,2383,2384))
Rendering template within layouts/admin_portal
Rendering list
Rendered _list_header (10.7ms)
Rendered _list_column_headings (22.5ms)
Rendered _messages (2.1ms)
Rendered _list_actions (15.6ms)
Rendered _list_record (74.5ms)
Rendered _list_actions (2.3ms)
Rendered _list_record (11.7ms)
Rendered _list_actions (2.1ms)
Rendered _list_record (10.9ms)
Rendered _list_actions (2.0ms)
Rendered _list_record (10.8ms)
Rendered _list_actions (1.9ms)
Rendered _list_record (10.6ms)
Rendered _list_actions (2.0ms)
Rendered _list_record (10.6ms)
Rendered _list_actions (1.1ms)
Rendered _list_record (6.1ms)
Rendered _list_actions (1.1ms)
Rendered _list_record (5.6ms)
Rendered _list_actions (1.0ms)
Rendered _list_record (5.5ms)
Rendered _list_actions (1.0ms)
Rendered _list_record (5.5ms)
Rendered _list_pagination_links (10.5ms)
Rendered _list (212.0ms)
Completed in 22166ms (View: 494, DB: 24) | 200 OK [http://localhost/
reader_devices]


--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"ActiveScaffold : Ruby on Rails plugin" group.
To post to this group, send email to [email protected]
To unsubscribe from this group, send email to 
[email protected]
For more options, visit this group at 
http://groups.google.com/group/activescaffold?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to