У меня есть список значений, извлеченных из запроса SQL, чтобы узнать, если x, если значения присутствуют в нем.
SQL:
-Select null from table where code='x'
-resul.count>0
String:
-Loop for concatenating the codes in one string
-codesstring.Contains("x")
Hashtable:
-Loop for adding the codes to the hashtable
-codeshashtable.ContainsKey("x")
Список будет в тысячах диапазона... точит самый быстрый путь?
Возможно, я вас неправильно понял, но самым быстрым способом было бы просто получить сам счетчик:
select count(*)
from MyTable
where code = 'x'
Вы НЕ запрашиваете то же самое в запросах 1 и 2.
Строка будет
codestring.Equals ('x')
Зависит от того, что является самым быстрым. Цикл строки: нет
Hashtable - да, для тысяч уже загруженных (т.е. вам не нужно обращаться к базе данных)
В противном случае напрямую в базу данных.
Только SQL предотвратит передачу всего набора результатов из БД в ваше приложение. На этом этапе это зависит (немного) от того, как часто вы выполняете эти проверки.Если у вас есть много-много-много значений для проверки, я бы пошел с хеш-таблицей и кэшировал весь список в памяти.
Поиск строки будет плохой функцией в любом сценарии.