Как правильно вести поиске по таблице из dataset?
Сейчас я использую foreach (DataRow ...)
Можно ли как нибудь использовать при поиске индексы, которые создаются на сервере БД?
Здравствуйте, Аноним, Вы писали:
А>Как правильно вести поиске по таблице из dataset? А>Сейчас я использую foreach (DataRow ...)
можно через DataView и Find, FidRows или установкой RowFilter А>Можно ли как нибудь использовать при поиске индексы, которые создаются на сервере БД?
нет
SCS
Re[2]: Индексы и dataset
От:
Аноним
Дата:
25.03.03 10:54
Оценка:
Здравствуйте, SCS, Вы писали:
SCS>Здравствуйте, Аноним, Вы писали:
А>>Как правильно вести поиске по таблице из dataset? А>>Сейчас я использую foreach (DataRow ...) SCS>можно через DataView и Find, FidRows или установкой RowFilter
Здравствуйте, Аноним, Вы писали:
А>Здравствуйте, SCS, Вы писали:
SCS>>Здравствуйте, Аноним, Вы писали:
А>>>Как правильно вести поиске по таблице из dataset? А>>>Сейчас я использую foreach (DataRow ...) SCS>>можно через DataView и Find, FidRows или установкой RowFilter
А>А что быстрее foreach или Find?
find работает после того, как ты отсортируешь DataView по полю. думаю, что однократный поиск быстрее через foreach, а вот искать несколько раз — по отсортированному view — быстрее find.
Здравствуйте, nymphomuzic, Вы писали:
N>find в любом случае быстрее, даже если не создавать Constraint в DataTable
Если нужен очень быстрый поиск и делаться он будет часть, то стоит воспользоваться HashTable-ом. В качестве ключа нужно использовать данные, а в качестве значения DataRow.
Если типы данных ключа сложные, можно использовать в качестве ключа саму строку написав специализированные реалзиации IHashCodeProviderи IComparer.
... << RSDN@Home 1.0 beta 4 >>
Есть логика намерений и логика обстоятельств, последняя всегда сильнее.
Здравствуйте, <Аноним>, Вы писали:
А>Как правильно вести поиске по таблице из dataset? А>Сейчас я использую foreach (DataRow ...)
Если необходимо производить поиск многократно на одних данных(или они нужны для других целей) то все Ок(хотя есть методы поудобней), но если нет то лудше использовать запросы SQL. А>Можно ли как нибудь использовать при поиске индексы, которые создаются на сервере БД?
А зачем, DataSet храниться в памяти(если влезет) и любые действия будут выполняться очень быстро, фактически этим временим можно принебречь, оно значительно меньше нежели выборка исходных данных из БД или тем более их запись. А индексы в памяти не нужны, они лиш займут место.