Оптимальный способ удалить выбранные данные из базы данных
У меня огромная база данных (около 7 миллионов записей). Схема примерно такая:tbl_Info: (ID, Name, ...)
у меня есть ListBox
который содержит ряд элементов, которые могут быть связаны со столбцом Имя tab_Info
, Количество элементов, представленных в списке, может достигать нескольких тысяч. Я хочу удалить все имена, содержащиеся в ListBox
из таблицы базы данных. Я думал о двух способах сделать это.
- Прочитайте каждый элемент один за другим и выполните запрос на удаление соответственно. Я думаю, что это очень плохая идея.
- Массовое чтение элементов списка ListBox, а затем применение запроса на удаление. Я могу использовать цикл, чтобы прочитать все записи и передать запрос, как
delete * from tab_Info where Name IN (item1, item2,...,itemN)
, Но это также занимает много времени.
Что можно сделать, чтобы он работал быстрее?