Forum OpenACS Development: Re: openacs.org upgrade: things do be done: Front page queries

Three queries that are up for improvement (taken from the frontpage):

4603 ms       select       dbqd.edit-this-page.tcl.etp-procs.etp::get_content_items.get_content_items: select nsdb0

select * from
  (select
  i.item_id, i.name, tree_sortkey as sort_order,
  to_char(r.publish_date, 'Mon DD, YYYY') as publish_date,
  (select object_type from acs_objects
    where object_id = i.item_id) as object_type,
          etp__get_relative_url(i.item_id, i.name) as url,
          etp__get_title(i.item_id, r.title) as title,
          etp__get_description(i.item_id, r.description) as description

  from cr_items i left join cr_revisions r on (i.live_revision = r.revision_id)
  where i.parent_id = etp__get_folder_id('3981') and i.name != 'index'
  ) attributes
where
1 = 1

order by
  sort_order

##################################

812 ms       select       dbqd.www.templates.widgets.postings.messages_select: select nsdb0

select fm.message_id,
      fm.forum_id,
      ff.name as forum_name,
      fm.subject

from (select message_id,
            forum_id,

Did I mention forum preview is broken?. Apparently preview did not like my content (it was too large), so it just cut it down in half. Either way, here are the other two queries in full beauty.

812 ms       select       dbqd.www.templates.widgets.postings.messages_select: select nsdb0

select fm.message_id,
      fm.forum_id,
      ff.name as forum_name,
      fm.subject

from (select message_id,
            forum_id,
            subject,
            parent_id,
            posting_date,
            last_child_post
      from forums_messages_approved
      order by last_child_post desc)  fm, forums_forums ff

where fm.forum_id = ff.forum_id
and fm.parent_id is null
and ff.package_id = 3061
and ff.forum_id <> 46408
--and ff.package_id = 3928
and ff.enabled_p='t'
-- and last_child_post > (current_timestamp - 7)
--order by forum_name
limit 11


###################

664 ms       select       dbqd.edit-this-page.tcl.etp-procs.etp::get_content_items.get_content_items: select nsdb0

select * from
  (select
  i.item_id, i.name, tree_sortkey as sort_order,
  to_char(r.publish_date, 'Mon DD, YYYY') as publish_date,
  (select object_type from acs_objects
    where object_id = i.item_id) as object_type,
          etp__get_relative_url(i.item_id, i.name) as url,
          etp__get_title(i.item_id, r.title) as title,
          etp__get_description(i.item_id, r.description) as description

  from cr_items i left join cr_revisions r on (i.live_revision = r.revision_id)
  where i.parent_id = etp__get_folder_id('4053') and i.name != 'index'
  ) attributes
where
1 = 1

order by
  sort_order

limit 4