Я прочитал много статей и вопросов, похожих на это, но havnt нашел что-нибудь достаточно близко.Вставить много данных по строкам с проверкой взаимосвязей и возможными плохими данными
У меня есть 40 000 строк в файле Excel с 10 колонками. Данные в этом документе напечатаны вручную.
Существует два основных номера, MO & Закажите, в файле, который я должен проверить первым. Так как они напечатаны вручную, они могут ошибаться.
У меня есть 2 таблицы MO Таблица
moID MO Order
3409 87234 23845
3410 84562 21342
etc... (38k rows)
и
printID moID user date printer
5 3409 Brad 01/24 printer1
34 3409 Brad 01/30 printer1
40 3410 Joe 01/31 printer1
etc... (9k ish and growing)
ПРОЦЕСС:
I цикл по каждой строке в моей C# приложение, запрос, чтобы получить MOID. затем запрос, чтобы узнать, существует ли работа, а затем введите Insert. Если moID не может быть найден, я запрашиваю, чтобы журнал был доступен MO & Комбинации заказов, позволяющие им исправить файл позже.
LINK QUERYS:
curMOID = dbReports.MoNumbers.Where(r => r.moNumber == moNum && r.moOrder == orderNum).Select(c => c.id_moNumber).FirstOrDefault();
var printJobs = dbReports.PaperPrints.Where(q => q.id_moNumber == curMOID && q.printDate == printDate && q.rowExcelFile == curRow);
if (printJobs.Where(q => q.printSize == null).Count() == 0)
ВОПРОС:
мой MOID запрос занимает 250 мс (время приложения, прямой запрос ~ .075ms). То же самое с уже существующим и списком опций. Таким образом, каждая строка занимает около 0,5 секунды. В 40k строк занимает 5 часов. Я должен делать это с пользователем ежедневно. Есть ли лучший способ сделать это или каким-то образом ускорить запрос с помощью приложения.
У меня уже есть таблица, поэтому, когда вы говорите, создайте таблицу назначения, это будет моя уже созданная таблица. А фиктивная таблица должна быть таблицей, подобной этой таблице, правильно? – BrinkDaDrink
есть, точно. Было бы создать манекен, как настоящую вещь. – e4c5
Я создал столбец MO & Order на моей временной таблице. Затем создайте запрос для захвата moID и обновления записей. Затем вставьте Ignore. Правильно ли это или возможно выполнить единую проверку moID во внутри вставки INNOR. – BrinkDaDrink