Go Premium for a chance to win a PS4. Enter to Win


Loading really large tables times out

Posted on 2004-09-08
Medium Priority
Last Modified: 2010-04-06

I have a website that has some really large tables. When trying to load these really large tables sometimes the brouser timesout. To see an example go to http://www.envirodataaccess.com/heis2002_htm/WELLSERIES-200-299/rad/rad_sum.htm, scroll down to Cesium_137_unfil and click on 13335.

Is there anything I can do in my code to prevent this from happening? The end user will not always know how to change any settings.

Question by:lorikellyr
  • 4
LVL 53

Accepted Solution

COBOLdinosaur earned 500 total points
ID: 12008027
I don't know why you would think a transfer of that much data would not result in some timeouts.  The application is not appropriate for a web page.  If you actually have to transfer that much data you should be putting it in a compressed .zip format and download the files.

There are three factors at play here contributing to the problem.  The number one problem is the size of the download.  I have a very fast connection and the download time is unacceptable.  Anyone using anything but a high speed connection is going to get some timeouts no matter what you do, unless you reduce the volume of the transfer. So you need to assess the design requirements to see what MUST be transfered what SHOULD be transfered and what is being transfered because it is there.

The second part of this is the database acquisition.  I can't see how the queries are written, but you should analyse those to see if there is any optimization possible.  This has to be using a huge number of cycles and memory on the server.

Finally the HTML.  Using that single large table is going to cause fits for some browsers, and some of the timeouts may be the result of low memory availablility so the cleint is doing a lot of swapping. All browsers have efficiency problems when rendering tables but the most commonly used browser, IE is the slowest. Breaking it up would help, but the setting of the background localy for every row is also going to slow it down, using CSS class, might impove it slightly.

If it was my task to get it working I would re-organize to reduce the granularity of such huge transfers.  I notice in the data that a very large number of rows will have may fields in common.  Such as the pdf link.  If you group on the common factors and download a list of summaries then the user can select a summary fo delivery of the detail.

In the end unless you reduce the number of rows returned, you are not going to get it significantly faster; there is just too much data being transfered to make it practical on a web page.

LVL 15

Expert Comment

ID: 12008922
I couldn't see the data but it might help if you just passed the data then used javascript to output the <tr>'s and <td>'s etc.
LVL 53

Expert Comment

ID: 12009783
If this was an intranet app you could use a hidden frame and block the data by using XMLHTTP GETs. That would let you do initial rendering for the first block of rows and then let you dynamically expand the table as additional blocks came in and the user would be able to start working as soon as the first block was loaded.  I'm not sure it would be practical across the Internet. User with a slow connection might ended up crashing instead of timeing out; from the look of the table code, the dynamic growing of the table would present some coding challenges.

Independent Software Vendors: We Want Your Opinion

We value your feedback.

Take our survey and automatically be enter to win anyone of the following:
Yeti Cooler, Amazon eGift Card, and Movie eGift Card!


Author Comment

ID: 12045587
I wanted to thank you for your responses. I had something big come up and am working on it. I just wanted to let you know I had not forgotten about this and I will get back to it as soon as possible.
LVL 53

Expert Comment

ID: 12049553
No problem.  Thanks for letting us know there will be a time lag. :^)

LVL 53

Expert Comment

ID: 12165440
Thanks for the A. :^)


Featured Post

New feature and membership benefit!

New feature! Upgrade and increase expert visibility of your issues with Priority Questions.

Question has a verified solution.

If you are experiencing a similar issue, please ask a related question

It's sometimes a bit tricky to use date functions in Oracle BPEL. I'll explain quickly how you can add N days to the current date. In a BPEL process this can be useful, and you can adapt it to fit your needs. First of all, let's see how to add 1 …
Without even knowing it, most of us are using web applications on a daily basis.  In fact, Gmail and Yahoo email, Twitter, Facebook, and eBay are used by most of us daily—and they are web applications. We generally confuse these web applications to…
Viewers will learn about arithmetic and Boolean expressions in Java and the logical operators used to create Boolean expressions. We will cover the symbols used for arithmetic expressions and define each logical operator and how to use them in Boole…
The viewer will learn how to look for a specific file type in a local or remote server directory using PHP.
Suggested Courses

963 members asked questions and received personalized solutions in the past 7 days.

Join the community of 500,000 technology professionals and ask your questions.

Join & Ask a Question