Hello everyone, I am working on a small project at work to replace our
Server Inventory Spread Sheet with a Inventory application that I am going
to develop with symfony using MySQL as the backend. We have about 200+
servers that we track various information on. I have a few one to many
relationships with the server table and other tables for example

Server
id
hostname
OS
techid
Application
Location
phyid
hmcid

Tech
techid
first_name
last_name

HMC
hmcid
hostname

One requirement of the application is that it has a page that looks a lot
like the Spread Sheet, so it list all 200+ servers and all their information
on one page, to allow for people to easily print, or save a local copy in
PDF/CSV format. This can cause a lot of SQL queries when someone goes to the
"All View" Typically it is over 800 SQL queries in this view, it takes about
90 seconds to load, with most of the time waiting on the database according
to the SF Debug tool bar. In researching this last night I read the
Performance Chapter in my symofony book. I changed the code to simply use
the doSelectJoinAll method. This speed up the SQL query a lot, it now only
takes about 7 seconds to run, however now the action server/list takes
almost 5 minutes. So using the doSelectJoinAll method took the load off the
database and increased the load on the action by 5 times of what it was with
the doSelect statement. Is hydrating all the objects across all the tables
for the 200+ results causing the action to take so long to load?

I first thought the cause may be do to my development enviorment being on my
laptop running XAMPP, so I moved the code over to one of our AIX servers
with 8 gig of memory and 4 Power CPU's and it took almost as long with the
doSelectJoinAll method. Does anyone have any suggestions? I looked into
using the pager method to limit the queries, but that is not going to meet
my need of having an "all view" The only other thing I can think of is,
creating a temporary table and copying all the data from all the other
tables into the one temporary table then having the "all" view pull from one
table.

--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups 
"symfony users" group.
To post to this group, send email to symfony-users@googlegroups.com
To unsubscribe from this group, send email to [EMAIL PROTECTED]
For more options, visit this group at 
http://groups.google.com/group/symfony-users?hl=en
-~----------~----~----~----~------~----~------~--~---

Reply via email to