А зачем делать фильтрацию на стороне клиента?
Выполняй поиск на сервере, а на клиент возвращай уже результат.
+
Использовать fetch порциями, вместо того, чтоб вытянуть все данные, если под критерии поиска попадает множество строк.
Когда пользуешься Google ты же не делаешь "Отобразить все...
+1
Скажите мне, что будет делать пользователь с этими тысячами. Однознчно они все ему не нужны, а нужны лишь только пара строк, которые будут из них найдены при помощи Excel или еще чего.
Подумайте над тем, что в конечном итоге хочет пользователь и сделайте это на стороне сервера.
like '%искомое_значение%' будет тормозить везде, т.к. в этом случае не используется индекс.
like 'искомое_значение% будет использовать индекс
Если речь идет именно о поиске текста, то хорошие результаты даст полнотекстовый поиск SQL Server. Но это уже Enterprise версия.
Поэтому копайте в...