Alternatives To Product Picker For Add New Order?

With this database of over 200,000 parts, employees will be on the phone and needing to add parts to the order. The first time they click add to order, it takes 5.5 to 12 seconds depending on server load. Why does the product picker query for EVERY product in the database it makes it take forever. I tried preloading the results with an empty set but then the search functionality is broken. It seems to do alot of that searching with javascript. After the first click it's instant…

But I'm wondering if there's an alternative to the products picker.

Otherwise I might be looking at caching the result of the query as a JSON object and feeding that to the page.

Thoughts anyone?