![]() |
|
Модераторы: gambit |
![]()
|
|
| Softaz |
|
||||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
Задача.
Есть массив строк, которые нужно добавить в таблицу. Обычно их около 500 длиной около 8 байт каждая. Причем добавлять нужно не все подряд, а только те, которых еще нет в таблице. С "просто добавлением" все просто - следующий код добавляет их за 0.233 секунды.
А с проверкой на отсутствие получалось не менее 30 секунд. Быстрее всего получается, если обрабатывать исключение OleDbException (указав соотв. поле индексированным с непосторяющимися значениями), а не посылатьдополнительный SELECT-запрос на присутствие.
А знаете ли Вы, как сделать еще быстрее. Хотя бы до 5 секунд снизить время. Заранее спасибо. -------------------- Разочарованный в .NET |
||||
|
|||||
| arilou |
|
|||
![]() Великий МунаБудвин ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 2646 Регистрация: 15.7.2004 Где: город-герой Минск Репутация: 4 Всего: 61 |
Softaz,
1. сначала делаешь:
2. Потом удалешь из своего массива все элементы, которые будут присутствовать после п.1 3. Потом инсертишь все, что осталось. |
|||
|
||||
| Softaz |
|
|||
![]() wasm ![]() ![]() Профиль Группа: Участник Сообщений: 373 Регистрация: 16.1.2006 Репутация: 4 Всего: 16 |
arilou, Спасибо.
-------------------- Разочарованный в .NET |
|||
|
||||
![]()
|
| Прежде чем создать тему, посмотрите сюда: | |
|
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, stab, mr.DUDA, Exception. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Базы данных под .NET | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |