I'm deploying an instant search on my windows app. At the first implementation, when the user type a key, the search engine make a query and return the results. I thought that that wasn't too much efficient, because when the user want to search for a long word, each char makes a query, so i made the search start a bit delayed, to let the user write the full word before it starts to query and load results at the table. More efficient, less glitch when the rows are reloaded.
Its a good practice anyway? There is any convention about it? I'm seeking for a case study about how much milliseconds that delay should be, but I dont find anything. Short one, and the application will make a lot of queries when the user type slowly. Long one, and the user will perceive like the application is slow loading data.