List Box Popluation Speed

I have developed a simple application using J2ee arch. For a enquiry screen we need to populate 2 list boxes "Vendor from" and "vendor To" . The list box has 5000 records. due to this list box popluation, the page load takes 15-20 seconds. the customer wants a load time of 1-2 seconds. is there any way of achieving this ? The bean returns the records from the db in milli seconds - it is the popluating the list box in the front end which is the bottleneck.

The Vendor From and To list popluates the same records from a single table which is indexed by Vendor Name

Any ideas is appreciated.
Who is Participating?

[Product update] Infrastructure Analysis Tool is now available with Business Accounts.Learn More

I wear a lot of hats...

"The solutions and answers provided on Experts Exchange have been extremely helpful to me over the last few years. I wear a lot of hats - Developer, Database Administrator, Help Desk, etc., so I know a lot of things but not a lot about one thing. Experts Exchange gives me answers from people who do know a lot about one thing, in a easy to use platform." -Todd S.

Just a suggestion,

Have a alphabetic list to be chosen before you display the "from" box and then a list to dipslay the "to" box.
Hold all the records in session but display only the chosen alphabets, this way you need to go to the db again.

Even the user would like to scroll thourgh 5000 entries before he chooses one.

>it is the popluating the list box in the front end which is the bottleneck.
what do you mean? you populte list box on the client browser?
if not, than i think you probably do it in your servlet of jsp, or something like this. So then oyu bottleneck not populating, but the time to download so huge page with 5000+ items in listbox.
          Am i right?
if so, try to reduce number of items in listbox, like applekanna suggested.
 if not, plz explain in more details.

>Even the user would like to scroll thourgh 5000 entries before he chooses one

Even the user would NOT like to scroll thourgh 5000 entries before he chooses one
Build an E-Commerce Site with Angular 5

Learn how to build an E-Commerce site with Angular 5, a JavaScript framework used by developers to build web, desktop, and mobile applications.

cache the lists in the servletSession, and rebuild them if the vendor lists change
If it is a problem with the bandwidth when transferring the data to a client, consider checking the request (Accept-Encoding) to see if gzip is supported.  If it is, try piping the page through a GZIPOutputStream.  You *may* get the kind of performance increase you're looking for, but in this case there are other factors too (general network latency).

You can get some source code for this from  It's in chapter 9 (listing 9.20).
Sorry.  I would have posted the exact link, but the site seems to be unavailable at the moment :-(

Experts Exchange Solution brought to you by

Your issues matter to us.

Facing a tech roadblock? Get the help and guidance you need from experienced professionals who care. Ask your question anytime, anywhere, with no hassle.

Start your 7-day free trial
that comes with Tomcat ;-)
It's more than this solution.Get answers and train to solve all your tech problems - anytime, anywhere.Try it for free Edge Out The Competitionfor your dream job with proven skills and certifications.Get started today Stand Outas the employee with proven skills.Start learning today for free Move Your Career Forwardwith certification training in the latest technologies.Start your trial today

From novice to tech pro — start learning today.