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 -~----------~----~----~----~------~----~------~--~---