Самый быстрый путь к объемным строкам вставки в SQL-сервер

Может быть, есть много решений, но я думаю, что следующие коды могут решить и вашу проблему.

need_delete = False
with open(path_to_old_file, 'r') as fin, open(path_to_new_file, 'w+') as fout :
    for line in fin:
        if line.endswith('"Validate repo test2"\n'):
            need_delete = True
        if need_delete and not line.strip():
            need_delete = False
            continue
        if not need_delete:
            fout.write(line)

Я надеюсь, что это поможет вам.

9
задан AnthonyWJones 13 March 2009 в 14:16
поделиться

5 ответов

Если Вы не работаете на 10-летнем компьютере, 50-500 строк не очень многие; Вы могли буквально отправить по SQL-операторам и передать их по каналу непосредственно в базу данных и получить высокую эффективность. Принятие Вас доверяет сервисам, отправляющим Вам данные, конечно :-)

Если производительность действительно является проблемой, отправляющей по файлу массивного копирования, абсолютно самый быстрый путь к данным затора в базе данных. Это звучит от Вашего вопроса, который Вы уже знаете, как сделать это.

6
ответ дан 4 December 2019 в 11:08
поделиться

Всего 50-500 записей не составляют "объемную вставку". Объемный механизм вставки разработан для действительно серьезного импорта данных, которые должны быть сразу развиты со спиной.

В веб-сервисе я просто передал бы XML в SQL-сервер. Специфические особенности были бы зависимым версии.

5
ответ дан 4 December 2019 в 11:08
поделиться

50-500 строк не должны быть проблемой! Нет никакой потребности сделать настройку производительности! Сделайте нормальные (подготовленные) SQL-операторы в своем приложении.

Не уничтожайте его со сложностью и сверхразработкой.

Когда необходимо вставить больше чем 250 000 строк, необходимо думать о масштабировании!

Не поворачивайтесь ограничений, Вы могли бы уничтожить DB.

3
ответ дан 4 December 2019 в 11:08
поделиться

Какой веб-сервис - это?

Если это - .NET, обычно лучший способ состоит в том, чтобы загрузить вход в DataTable, то стрелять в него до SQL-сервера с помощью класса SqlBulkCopy

3
ответ дан 4 December 2019 в 11:08
поделиться

Для повторения всех других ответов 500 строк не являются никакой проблемой для SQL-сервера. Если действительно необходимо вставить большое количество записей, самый быстрый путь со встроенным сохраненным proc под названием BulkInsert,

BulkInsert

то, которому (я Верю), является точкой входа к утилите SQL Server, специально разработанной для того, чтобы сделать названный bcp.exe

BCP

2
ответ дан 4 December 2019 в 11:08
поделиться
Другие вопросы по тегам:

Похожие вопросы: