Вы используете стандартный подход к задаче.
Если вам нужно загрузить данные (большие данные, то есть) в базу данных, узкое место будет находиться между вашим кодом и базой данных, если вы не используете метод BULK INSERT
, а не вставляете строки один за другим. Детали этого зависят от конкретного сервера базы данных. Это, однако, не имеет значения, если файлы относительно малы, и в этом случае загрузка будет более равномерно распределена. Даже тогда мне было бы безразлично скорость доступа к диску.
Перед тем, как начать чтение, убедитесь, что файл полностью написан. Например, сначала попробуйте открыть его для эксклюзивного чтения. Это немного помогает, если файл становится доступным для вас через операцию переименования, в отличие от операции создания, особенно если вы ожидаете, что многие файлы будут поступать, потому что ваша серверная сторона не будет занята дождаться, пока файл не будет полностью написано. Это в основном означает, что файл должен быть сначала написан с именем файла, для которого вы НЕ смотрите.
Каковы диапазоны размеров файлов? Какой именно код вы используете для чтения этих файлов? –
Вы взаимодействуете с самой медленной частью системы (физический диск). На самом деле нет никакой причины выходить на производительность. Если вам нужно * быстрее, вы можете использовать RAM-диск или SSD для своей папки ввода. – tzerb
Какую роль играет SQL-Server? _ «однако я заинтересован в производительности, учитывая, что данные будут использоваться для выполнения операций в базе данных SQL Server». _ Обратите внимание, что вы можете ** навальный импорт ** в sql-сервер непосредственно из файлов. http://msdn.microsoft.com/en-us/library/ms188365.aspx –